Поделиться через


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[]) .

Применяется к