Module.ResolveType Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает тип, определяемый маркером метаданных.
Перегрузки
| Имя | Описание |
|---|---|
| ResolveType(Int32) |
Возвращает тип, определенный указанным маркером метаданных. |
| ResolveType(Int32, Type[], Type[]) |
Возвращает тип, определяемый указанным маркером метаданных, в контексте, определяемом указанными параметрами универсального типа. |
ResolveType(Int32)
- Исходный код:
- Module.cs
- Исходный код:
- Module.cs
- Исходный код:
- Module.cs
- Исходный код:
- Module.cs
- Исходный код:
- Module.cs
Возвращает тип, определенный указанным маркером метаданных.
public:
Type ^ ResolveType(int metadataToken);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Trimming changes metadata tokens")]
public Type ResolveType(int metadataToken);
public Type ResolveType(int metadataToken);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Trimming changes metadata tokens")>]
member this.ResolveType : int -> Type
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[]) перегрузку метода, которая позволяет предоставить необходимый контекст. То есть при разрешении маркера метаданных для типа, который зависит от параметров универсального типа универсального типа и (или) универсального метода, в котором внедрен маркер, необходимо использовать перегрузку, которая позволяет предоставлять эти параметры типа.
Note
Сведения о маркерах метаданных см. в документации по инфраструктуре общего языка (CLI), особенно "Partition II: Определение метаданных и семантика". Дополнительные сведения см. в статье ECMA 335 Common Language Infrastructure (CLI).
Применяется к
ResolveType(Int32, Type[], Type[])
- Исходный код:
- Module.cs
- Исходный код:
- Module.cs
- Исходный код:
- 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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Trimming changes metadata tokens")]
public virtual Type ResolveType(int metadataToken, Type[]? genericTypeArguments, 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);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Trimming changes metadata tokens")>]
abstract member ResolveType : int * Type[] * Type[] -> Type
override this.ResolveType : int * Type[] * Type[] -> Type
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. Всегда безопасно предоставлять эти аргументы, даже если они не нужны.
Note
Сведения о маркерах метаданных см. в документации по инфраструктуре общего языка (CLI), особенно "Partition II: Определение метаданных и семантика". Дополнительные сведения см. в статье ECMA 335 Common Language Infrastructure (CLI).
Код, демонстрирующий разрешение маркеров с помощью универсального контекста (т. е. параметры универсального типа универсального типа и (или) универсального метода, в котором внедрен маркер) см. в этом методе ResolveMethod(Int32, Type[], Type[]) .