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


Module.ResolveMember Метод

Определение

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

Перегрузки

ResolveMember(Int32)

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

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

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

ResolveMember(Int32)

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

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

public:
 System::Reflection::MemberInfo ^ ResolveMember(int metadataToken);
public System.Reflection.MemberInfo? ResolveMember (int metadataToken);
public System.Reflection.MemberInfo ResolveMember (int metadataToken);
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 или TypeSpec , сигнатура которого содержит тип ELEMENT_TYPE_VAR элемента или ELEMENT_TYPE_MVAR, используйте перегрузку ResolveMember(Int32, Type[], Type[]) метода, которая позволяет предоставить необходимый контекст. Это значит, что при разрешении маркера метаданных для элемента, зависящее от параметров универсального типа универсального типа и (или) универсального метода, в который внедрен маркер, необходимо использовать перегрузку, позволяющую предоставлять эти параметры типа.

Примечание

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

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

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

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

Исходный код:
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);
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);
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, подпись которого содержит сведения о типе элемента var (параметр типа для универсального типа) или mvar (параметр типа для универсального метода), а для метода genericTypeArguments или genericMethodArguments не предоставлены необходимые аргументы типа.

-или-

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

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

Комментарии

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

Примечание

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

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

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