Объект generic-типа (C#) - CodeHelper

Объект generic-типа (C#)

1

Как в C# создать объект Type, описывающий generic тип (например, List<SomeClass>) если информация о родительском типе (в примере это List) тоже представлена объектом Type?

Пояснение:

// Если все типы мне известны, я могу написать так
var genericType = typeof(List<SomeClass>);

// Но если классы List и SomeClass представлены только объектами
// типа Type, то как создать Type для generic?    
var listType = typeof(List<>);
var someClassType = typeof(SomeClass);
var genericType = ???

Новые ответы

Новые Лучшие

1

Нужно использовать метод MakeGenericType класса Type. Этот метод принимает произвольное число типов:

var listType = typeof(List<>);
var someClassType = typeof(SomeClass);
var genericType = listType.MakeGenericType(someClassType);
// genericType == typeof(List<SomeClass>)

v1.7.123.556
© 2009—2010 CodeHelper FAQ | О сайте | Обратная связь | История изменений | Статьи
Creative Commons LicenseМатериалы сайта распространяются под лицензией Creative Commons Attribution-Share Alike 3.0 Unported.