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

Определение

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

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

Параметры

metadataToken
Int32

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

genericTypeArguments
Type[]

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

genericMethodArguments
Type[]

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

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

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

Атрибуты

Исключения

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

–или–

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

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

Комментарии

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

Note

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

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

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