ModuleBuilder.ResolveMember(Int32, Type[], Type[]) Метод

Определение

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

public:
 override System::Reflection::MemberInfo ^ ResolveMember(int metadataToken, cli::array <Type ^> ^ genericTypeArguments, cli::array <Type ^> ^ genericMethodArguments);
public override System.Reflection.MemberInfo? ResolveMember (int metadataToken, Type[]? genericTypeArguments, Type[]? genericMethodArguments);
public override System.Reflection.MemberInfo ResolveMember (int metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments);
override this.ResolveMember : int * Type[] * Type[] -> System.Reflection.MemberInfo
Public Overrides Function ResolveMember (metadataToken As Integer, genericTypeArguments As Type(), genericMethodArguments As Type()) As MemberInfo

Параметры

metadataToken
Int32

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

genericTypeArguments
Type[]

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

genericMethodArguments
Type[]

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

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

MemberInfo

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

Исключения

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

-или- Параметр metadataToken является объектом MethodSpec или TypeSpec, подпись которого содержит сведения о типе элемента var (параметр типа для универсального типа) или mvar (параметр типа для универсального метода), а для метода genericTypeArguments или genericMethodArguments не предоставлены необходимые аргументы типа.

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

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

Комментарии

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

Примечание

Сведения о маркерах метаданных можно найти в документации по common Language Infrastructure (CLI), особенно "Partition II: Metadata Definition and Semantics". Дополнительные сведения см. в статье ECMA 335 Common Language Infrastructure (CLI).

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

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