Универсальные типы и отражение (Руководство по программированию в C#)
Так как среда CLR имеет доступ к информации универсальных типов во время выполнения, можно использовать отражение для получения информации об универсальных типах таким же образом, как и о не универсальных типах.Дополнительные сведения см. в разделе Универсальные типы во время выполнения (Руководство по программированию в C#).
В платформе .NET Framework 2.0 несколько новых членов добавлены в класс Type для предоставления информации об универсальных типах во время выполнения.Дополнительную информацию о том, как использовать эти методы и свойства, см. в документацию по этим классам. Пространство имен System.Reflection.Emit также содержит новые члены, которые поддерживают универсальность.Дополнительные сведения см. в разделе Практическое руководство. Определение универсального типа с порождаемым отражением.
Список неизменных условий для понятий, используемых в универсальном отражении, см. в заметках к свойству IsGenericType.
Имя члена класса System.Type |
Описание |
---|---|
В случае универсального типа возвращает значение true. |
|
Возвращает массив объектов Type, представляющих аргументы типа, поставляемые для созданного типа, или параметры типа для определения универсального типа. |
|
Возвращает определение лежащего в основе универсального типа для текущего создаваемого типа. |
|
Возвращает массив объектов Type, которые представляют ограничения, накладываемые на параметр текущего универсального типа. |
|
Возвращает значение true, если тип или любые включающие его типы или методы содержат параметры типа, для которых определенные типы не были предоставлены. |
|
Возвращает комбинацию флагов GenericParameterAttributes, описывающих особые ограничения параметра текущего универсального типа. |
|
Для объекта Type, представляющего параметр типа, возвращает положение параметра типа в списке параметров типа для определения универсального типа или определения универсального метода, использованного для объявления этого параметра типа. |
|
Возвращает значение, которое показывает, представляет ли текущий Type параметр типа для универсального типа или определения метода. |
|
Возвращает значение, которое показывает, представляет ли текущий Type определение универсального типа, из которого могут быть созданы другие универсальные типы.Возвращает значение true, если тип представляет определение универсального типа. |
|
Возвращает универсальный метод, который определяет параметр текущего универсального типа, или значение NULL, если параметр типа не был определен универсальным методом. |
|
Замещает элементы массива типов для параметров типа определения текущего универсального типа и возвращает объект Type, представляющий созданный в результате тип. |
Кроме того, новые члены добавляются в класс MethodInfo, для предоставления информации об универсальных типах во время выполнения.Список неизменяемых условий для терминов, используемых для отражения универсальных методов, см. в примечаниях к свойству IsGenericMethod.
Имя члена класса System.Reflection.MemberInfo |
Описание |
---|---|
В случае универсального метода возвращает значение true. |
|
Возвращает массив объектов Type, представляющих аргументы типа для созданного универсального метода или параметры типа для определения универсального метода. |
|
Возвращает определение лежащего в основе универсального метода для текущего создаваемого метода. |
|
Возвращает значение true, если метод или любые включающие его типы содержат какие-либо параметры типа, для которых определенные типы не были предоставлены. |
|
Возвращает значение true, если текущий объект MethodInfo представляет определение универсального метода. |
|
Заменяет параметры типа элементами массива типов для определения текущего универсального метода и возвращает объект MethodInfo, представляющий итоговый сконструированный метод. |
См. также
Ссылки
Универсальные шаблоны (Руководство по программированию на C#)
Основные понятия
Руководство по программированию на C#