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

Определение

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

public:
 override System::Reflection::MemberInfo ^ ResolveMember(int metadataToken, cli::array <Type ^> ^ genericTypeArguments, cli::array <Type ^> ^ genericMethodArguments);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Trimming changes metadata tokens")]
public override System.Reflection.MemberInfo? ResolveMember(int metadataToken, Type[]? genericTypeArguments, 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);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Trimming changes metadata tokens")>]
override this.ResolveMember : int * Type[] * Type[] -> System.Reflection.MemberInfo
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 Объект, представляющий тип или элемент, который определяется указанным маркером метаданных.

Атрибуты

Исключения

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

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

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