Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
1438 of 1492 menu
◀ ▶

Метод MakeGenericType

typeof(List<>).MakeGenericType(typeof(int)) совпадает с typeof(List<int>). Аргументы - GetGenericArguments, признак - IsGenericType.

Синтаксис

Type closed = openDefinition.MakeGenericType(typeArguments);

Пример

Давайте закрыть List<> типом int:

using System; using System.Collections.Generic; class Program { static void Main() { Type built = typeof(List<>) .MakeGenericType(typeof(int)); bool res = built == typeof(List<int>); Console.WriteLine(res); } }

Результат выполнения кода:

True

Пример

Давайте проверить имя закрытого типа:

using System; using System.Collections.Generic; class Program { static void Main() { Type built = typeof(List<>) .MakeGenericType(typeof(int)); string res = built.Name; Console.WriteLine(res); } }

Результат выполнения кода:

"List`1"

Пример

Давайте убедиться, что тип обобщённый:

using System; using System.Collections.Generic; class Program { static void Main() { Type built = typeof(List<>) .MakeGenericType(typeof(int)); bool res = built.IsGenericType; Console.WriteLine(res); } }

Результат выполнения кода:

True

Смотрите также

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить