Как получить тип Generics не объявляя его? (знаю, что решить эту задачу гораздо проще объявив Generic где не будь, но смысл в сокращении записи)static void WriteType()
{
//В идеале здесь должно быть что-то типа Console.Writeline(T.GetType()); если это возможно
}
Советуйте статьи или решения - как хотите.

21 Авг 2019 в 07:00
198 +1
0
Ответы
1

Для получения типа Generics в C# можно воспользоваться методами Reflection. Например, можно использовать следующий код для получения типа переданного Generics:

static void WriteType<T>()
{
Type type = typeof(T);
Console.WriteLine(type);
}

Обратите внимание, что данный код будет выводить тип T в виде строки. Если нужно получить информацию о типе (например, название типа), можно использовать свойства Type, такие как Name, FullName и др.

Более подробную информацию о Reflection в C# можно найти в документации Microsoft: https://docs.microsoft.com/en-us/dotnet/api/system.reflection?view=net-6.0

Также похожий вопрос был задан на StackOverflow, вот ссылка на обсуждение: https://stackoverflow.com/questions/3726447/get-generic-type-of-class-at-runtime

Надеюсь, это поможет вам решить вашу задачу!

20 Апр 2024 в 13:10
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир