Size: a a a

2020 March 15

AS

Anton Smetanin in unity3d.ru
А с дженериками у тебя хоть компилятор проверит, что ты правильный тип передаёшь
источник

PD

Paul Dyatlov in unity3d.ru
Anton Smetanin
Даункасты могут упасть в рантайме
Ну и ладно, упадет и упадет)
источник

JL

Jack Harrison Lumers in unity3d.ru
Anton Smetanin
А с дженериками у тебя хоть компилятор проверит, что ты правильный тип передаёшь
Эх, не, не выйдет с ними. Несколько параметров может быть, и Dictionary, и string, например
источник

AS

Anton Smetanin in unity3d.ru
Jack Harrison Lumers
Эх, не, не выйдет с ними. Несколько параметров может быть, и Dictionary, и string, например
Через таплы
источник

JL

Jack Harrison Lumers in unity3d.ru
А дженериком могу только 1 тип указать
источник

JL

Jack Harrison Lumers in unity3d.ru
Anton Smetanin
Через таплы
?
источник

AS

Anton Smetanin in unity3d.ru
class MyDerivedClass : MyClass<(Dictionary<int, Color> Colors, string Name)>
{
   public void InitParameters((Dictionary<int, Color>, string) args)
   {
       var (colors, name) = args;
       ...
   }
}
источник

JL

Jack Harrison Lumers in unity3d.ru
/// <summary>
/// Call to put parameters in this item.
/// Each inheritor must override it and т specify which parameters they use
/// </summary>
/// <param name="parameters">Parameters that is used in this item.</param>
public abstract void InitParameters<T>(T parameters);
источник

JL

Jack Harrison Lumers in unity3d.ru
Если укажу несколько таплов, то override не засчитает, сигнатура метода ведь другой будет
источник

AS

Anton Smetanin in unity3d.ru
Зачем несколько?
источник

AS

Anton Smetanin in unity3d.ru
Тапл один
источник

JL

Jack Harrison Lumers in unity3d.ru
public override void InitParameters<TString1, TString2, TDictionary>(...)
источник

JL

Jack Harrison Lumers in unity3d.ru
Чтобы несколько параметров передавать
источник

AS

Anton Smetanin in unity3d.ru
public override void InitParameters<(TString1 name, TString2 address, TDictionary faces)>(...)
источник

JL

Jack Harrison Lumers in unity3d.ru
Сделать дженерик класс у меня не выйдет сейчас, много модулей уже на старой реализации, на рефактор времени нет
источник

JL

Jack Harrison Lumers in unity3d.ru
Anton Smetanin
public override void InitParameters<(TString1 name, TString2 address, TDictionary faces)>(...)
Ого, не знал, что так можно
источник

AS

Anton Smetanin in unity3d.ru
Jack Harrison Lumers
Ого, не знал, что так можно
Ну вот можно)
источник

JL

Jack Harrison Lumers in unity3d.ru
источник

JL

Jack Harrison Lumers in unity3d.ru
Что не так делаю?
источник

PD

Paul Dyatlov in unity3d.ru
Anton Smetanin
public override void InitParameters<(TString1 name, TString2 address, TDictionary faces)>(...)
Только это кортеж
источник