Module.ResolveType Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает тип, определенный токеном метаданных.
Перегрузки
ResolveType(Int32) |
Возвращает тип, определенный заданным токеном метаданных. |
ResolveType(Int32, Type[], Type[]) |
Возвращает тип, определенный заданным токеном метаданных, в контексте, определенном заданными параметрами универсального типа. |
ResolveType(Int32)
- Исходный код:
- Module.cs
- Исходный код:
- Module.cs
- Исходный код:
- Module.cs
Возвращает тип, определенный заданным токеном метаданных.
public:
Type ^ ResolveType(int metadataToken);
public Type ResolveType (int metadataToken);
member this.ResolveType : int -> Type
Public Function ResolveType (metadataToken As Integer) As Type
Параметры
- metadataToken
- Int32
Маркер метаданных, который определяет тип в модуле.
Возвращаемое значение
Объект Type, представляющий тип, который определяется заданным токеном метаданных.
Исключения
Параметр metadataToken
не является маркером для типа в области текущего модуля.
-или-
Параметр metadataToken
является объектом TypeSpec
, сигнатура которого содержит тип элемента var
(параметр типа для универсального типа) или mvar
(параметр типа для универсального метода).
Параметр metadataToken
не является допустимым маркером для поля в области текущего модуля.
Комментарии
Чтобы разрешить маркер метаданных для объекта , TypeSpec
сигнатура ELEMENT_TYPE_VAR
которого содержит или ELEMENT_TYPE_MVAR
, используйте перегрузку ResolveType(Int32, Type[], Type[]) метода, которая позволяет предоставить необходимый контекст. То есть при разрешении маркера метаданных для типа, который зависит от параметров универсального типа универсального типа и (или) универсального метода, в который внедрен маркер, необходимо использовать перегрузку, которая позволяет предоставлять эти параметры типа.
Примечание
Сведения о маркерах метаданных можно найти в документации по общеязыковой инфраструктуре (CLI), в частности в разделе "Раздел II: определение и семантика метаданных". Дополнительные сведения см. в статье ECMA 335 Common Language Infrastructure (CLI).
Применяется к
ResolveType(Int32, Type[], Type[])
- Исходный код:
- Module.cs
- Исходный код:
- Module.cs
- Исходный код:
- Module.cs
Возвращает тип, определенный заданным токеном метаданных, в контексте, определенном заданными параметрами универсального типа.
public:
virtual Type ^ ResolveType(int metadataToken, cli::array <Type ^> ^ genericTypeArguments, cli::array <Type ^> ^ genericMethodArguments);
public:
Type ^ ResolveType(int metadataToken, cli::array <Type ^> ^ genericTypeArguments, cli::array <Type ^> ^ genericMethodArguments);
public virtual Type ResolveType (int metadataToken, Type[]? genericTypeArguments, Type[]? genericMethodArguments);
public virtual Type ResolveType (int metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments);
public Type ResolveType (int metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments);
abstract member ResolveType : int * Type[] * Type[] -> Type
override this.ResolveType : int * Type[] * Type[] -> Type
member this.ResolveType : int * Type[] * Type[] -> Type
Public Overridable Function ResolveType (metadataToken As Integer, genericTypeArguments As Type(), genericMethodArguments As Type()) As Type
Public Function ResolveType (metadataToken As Integer, genericTypeArguments As Type(), genericMethodArguments As Type()) As Type
Параметры
- metadataToken
- Int32
Маркер метаданных, который определяет тип в модуле.
- genericTypeArguments
- Type[]
Массив объектов Type, представляющих аргументы типа для данного типа, если токен находится в области, либо значение null
, если этот тип не является универсальным.
- genericMethodArguments
- Type[]
Массив объектов Type, представляющих аргументы типа для метода, если токен находится в области, либо значение null
, если этот метод не является универсальным.
Возвращаемое значение
Объект Type, представляющий тип, который определяется заданным токеном метаданных.
Исключения
Параметр metadataToken
не является маркером для типа в области текущего модуля.
-или-
Параметр metadataToken
является объектом TypeSpec
, сигнатура которого содержит сведения о типе элемента var
(параметр типа для универсального типа) или mvar
(параметр типа для универсального метода), а для genericTypeArguments
, genericMethodArguments
или обоих параметров не предоставлены необходимые аргументы типа.
Параметр metadataToken
не является допустимым маркером для поля в области текущего модуля.
Комментарии
Type.GetGenericArguments Используйте метод для типа , где metadataToken
находится в область, чтобы получить массив аргументов универсального типа для genericTypeArguments
.
MethodInfo.GetGenericArguments Используйте метод в методе , где metadataToken
находится в область, чтобы получить массив аргументов универсального типа для genericTypeArguments
. Всегда безопасно предоставлять эти аргументы, даже если они не нужны.
Примечание
Сведения о маркерах метаданных можно найти в документации по общеязыковой инфраструктуре (CLI), в частности в разделе "Раздел II: определение и семантика метаданных". Дополнительные сведения см. в статье ECMA 335 Common Language Infrastructure (CLI).
Код, демонстрирующий разрешение маркеров с помощью универсального контекста (то есть параметры универсального типа универсального типа и /или универсального метода, в который внедрен маркер), см. в этом методе ResolveMethod(Int32, Type[], Type[]) .