Module.ResolveMember Метод

Определение

Возвращает тип или элемент, определяемый маркером метаданных.

Перегрузки

Имя Описание
ResolveMember(Int32)

Возвращает тип или элемент, определяемый указанным маркером метаданных.

ResolveMember(Int32, Type[], Type[])

Возвращает тип или элемент, определяемый указанным маркером метаданных, в контексте, определяемом указанными параметрами универсального типа.

ResolveMember(Int32)

Исходный код:
Module.cs
Исходный код:
Module.cs
Исходный код:
Module.cs
Исходный код:
Module.cs
Исходный код:
Module.cs

Возвращает тип или элемент, определяемый указанным маркером метаданных.

public:
 System::Reflection::MemberInfo ^ ResolveMember(int metadataToken);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Trimming changes metadata tokens")]
public System.Reflection.MemberInfo? ResolveMember(int metadataToken);
public System.Reflection.MemberInfo ResolveMember(int metadataToken);
public System.Reflection.MemberInfo? ResolveMember(int metadataToken);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Trimming changes metadata tokens")>]
member this.ResolveMember : int -> System.Reflection.MemberInfo
member this.ResolveMember : int -> System.Reflection.MemberInfo
Public Function ResolveMember (metadataToken As Integer) As MemberInfo

Параметры

metadataToken
Int32

Маркер метаданных, определяющий тип или член модуля.

Возвращаемое значение

MemberInfo Объект, представляющий тип или элемент, который определяется указанным маркером метаданных.

Атрибуты

Исключения

metadataToken не является маркером для типа или члена в области текущего модуля.

–или–

metadataToken MethodSpec TypeSpec— это сигнатура, содержащая тип var элемента (параметр типа универсального типа) или mvar (параметр типа универсального метода).

–или–

metadataToken определяет свойство или событие.

metadataToken недопустимый маркер в области текущего модуля.

Комментарии

Чтобы разрешить маркер метаданных для MethodSpec типа TypeSpecELEMENT_TYPE_VAR элемента или сигнатуры, ELEMENT_TYPE_MVAR используйте ResolveMember(Int32, Type[], Type[]) перегрузку метода, которая позволяет предоставить необходимый контекст. То есть при разрешении маркера метаданных для члена, зависящего от параметров универсального типа универсального типа и (или) универсального метода, в котором внедрен маркер, необходимо использовать перегрузку, которая позволяет предоставлять эти параметры типа.

Note

Сведения о маркерах метаданных см. в документации по инфраструктуре общего языка (CLI), особенно "Partition II: Определение метаданных и семантика". Дополнительные сведения см. в статье ECMA 335 Common Language Infrastructure (CLI).

Код, демонстрирующий разрешение маркеров с помощью универсального контекста (т. е. параметры универсального типа универсального типа и (или) универсального метода, в котором внедрен маркер) см. в этом методе ResolveMethod(Int32, Type[], Type[]) .

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

ResolveMember(Int32, Type[], Type[])

Исходный код:
Module.cs
Исходный код:
Module.cs
Исходный код:
Module.cs
Исходный код:
Module.cs
Исходный код:
Module.cs

Возвращает тип или элемент, определяемый указанным маркером метаданных, в контексте, определяемом указанными параметрами универсального типа.

public:
 virtual System::Reflection::MemberInfo ^ ResolveMember(int metadataToken, cli::array <Type ^> ^ genericTypeArguments, cli::array <Type ^> ^ genericMethodArguments);
public:
 System::Reflection::MemberInfo ^ ResolveMember(int metadataToken, cli::array <Type ^> ^ genericTypeArguments, cli::array <Type ^> ^ genericMethodArguments);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Trimming changes metadata tokens")]
public virtual System.Reflection.MemberInfo? ResolveMember(int metadataToken, Type[]? genericTypeArguments, Type[]? genericMethodArguments);
public virtual System.Reflection.MemberInfo ResolveMember(int metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments);
public virtual System.Reflection.MemberInfo? ResolveMember(int metadataToken, Type[]? genericTypeArguments, Type[]? genericMethodArguments);
public System.Reflection.MemberInfo ResolveMember(int metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Trimming changes metadata tokens")>]
abstract member ResolveMember : int * Type[] * Type[] -> System.Reflection.MemberInfo
override this.ResolveMember : int * Type[] * Type[] -> System.Reflection.MemberInfo
abstract member ResolveMember : int * Type[] * Type[] -> System.Reflection.MemberInfo
override this.ResolveMember : int * Type[] * Type[] -> System.Reflection.MemberInfo
member this.ResolveMember : int * Type[] * Type[] -> System.Reflection.MemberInfo
Public Overridable Function ResolveMember (metadataToken As Integer, genericTypeArguments As Type(), genericMethodArguments As Type()) As MemberInfo
Public Function ResolveMember (metadataToken As Integer, genericTypeArguments As Type(), genericMethodArguments As Type()) As MemberInfo

Параметры

metadataToken
Int32

Маркер метаданных, определяющий тип или член модуля.

genericTypeArguments
Type[]

Массив Type объектов, представляющих аргументы универсального типа типа, в котором находится маркер в области, или null если этот тип не является универсальным.

genericMethodArguments
Type[]

Массив Type объектов, представляющих аргументы универсального типа метода, в котором маркер находится в области, или null если этот метод не является универсальным.

Возвращаемое значение

MemberInfo Объект, представляющий тип или элемент, который определяется указанным маркером метаданных.

Атрибуты

Исключения

metadataToken не является маркером для типа или члена в области текущего модуля.

–или–

metadataToken— это сигнатура, содержащая тип MethodSpec элемента (параметр типа универсального типа) или TypeSpec (параметр типа универсального метода), а необходимые аргументы универсального типа не были предоставлены либо для обоих, либо для обоихvarmvar.genericTypeArgumentsgenericMethodArguments

–или–

metadataToken определяет свойство или событие.

metadataToken недопустимый маркер в области текущего модуля.

Комментарии

Используйте метод в типе Type.GetGenericArguments , где metadataToken находится в области, чтобы получить массив аргументов универсального типа для genericTypeArguments. MethodInfo.GetGenericArguments Используйте метод в методе, где metadataToken находится в области, чтобы получить массив аргументов универсального типа для genericTypeArguments. Всегда безопасно предоставлять эти аргументы, даже если они не нужны.

Note

Сведения о маркерах метаданных см. в документации по инфраструктуре общего языка (CLI), особенно "Partition II: Определение метаданных и семантика". Дополнительные сведения см. в статье ECMA 335 Common Language Infrastructure (CLI).

Код, демонстрирующий разрешение маркеров с помощью универсального контекста (т. е. параметры универсального типа универсального типа и (или) универсального метода, в котором внедрен маркер) см. в этом методе ResolveMethod(Int32, Type[], Type[]) .

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