Сообщение передать generic через строку в <T> от 04.01.2022 16:14
Изменено 04.01.2022 16:43 Hermitap
передать generic через строку в <T>
Доброго всем.
Есть такой кусок кода.
То что нужно тут для меня работает. (Это тестовый набросок)
Можно ли вызвать CallClass<myclass1>(); но myclass1 (нужный мне класс) как то передать через строку?
У меня таких классов будет много. И данные я буду брать из бд в зависимости от поля вызывать CallClass с нужным классом.
Можно конечно написать SWSITCH и в зависимости от данных вызвать типа такого
+Я умею динамически вызывать нужный класс через System.Reflection.Assembly.GetExecutingAssembly().CreateInstance("ConsoleApp6.myclass1");
но так было бы лучше и красивее как то через CallClass<"T">
Спасибо.
Есть такой кусок кода.
static void Main(string[] args)
{
CallClass<myclass1>();
}
static void CallClass<T>() where T: new()
{
T cls = new T();
ShowName((IInterface)cls);
}
То что нужно тут для меня работает. (Это тестовый набросок)
Можно ли вызвать CallClass<myclass1>(); но myclass1 (нужный мне класс) как то передать через строку?
У меня таких классов будет много. И данные я буду брать из бд в зависимости от поля вызывать CallClass с нужным классом.
Можно конечно написать SWSITCH и в зависимости от данных вызвать типа такого
switch
case 1 CallClass<myclass1>();
case 2 CallClass<myclass2>();
case 3 CallClass<myclass3>();
case 4 CallClass<myclass4>();
.....
+Я умею динамически вызывать нужный класс через System.Reflection.Assembly.GetExecutingAssembly().CreateInstance("ConsoleApp6.myclass1");
но так было бы лучше и красивее как то через CallClass<"T">
Спасибо.
передать generic через строку в <T>
Доброго всем.
Есть такой кусок кода.
То что нужно тут для меня работает. (Это тестовый набросок)
Можно ли вызвать CallClass<myclass1>(); но myclass1 (нужный мне класс) как то передать через строку?
У меня таких классов будет много. И данные я буду брать из бд в зависимости от поля вызывать CallClass с нужным классом.
Можно конечно написать SWSITCH и в зависимости от данных вызвать типа такого
+Я умею динамически вызывать нужный класс через System.Reflection.Assembly.GetExecutingAssembly().CreateInstance("ConsoleApp6.myclass1");
и что нужно работает.
Но хотелось бы как то через CallClass<"T"> так аккуратней и красивей код
Спасибо.
Есть такой кусок кода.
static void Main(string[] args)
{
CallClass<myclass1>();
}
static void CallClass<T>() where T: new()
{
T cls = new T();
ShowName((IInterface)cls);
}
То что нужно тут для меня работает. (Это тестовый набросок)
Можно ли вызвать CallClass<myclass1>(); но myclass1 (нужный мне класс) как то передать через строку?
У меня таких классов будет много. И данные я буду брать из бд в зависимости от поля вызывать CallClass с нужным классом.
Можно конечно написать SWSITCH и в зависимости от данных вызвать типа такого
switch
case 1 CallClass<myclass1>();
case 2 CallClass<myclass2>();
case 3 CallClass<myclass3>();
case 4 CallClass<myclass4>();
.....
+Я умею динамически вызывать нужный класс через System.Reflection.Assembly.GetExecutingAssembly().CreateInstance("ConsoleApp6.myclass1");
и что нужно работает.
Но хотелось бы как то через CallClass<"T"> так аккуратней и красивей код
Спасибо.