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


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

Определение

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

public:
 override System::Reflection::MethodBase ^ ResolveMethod(int metadataToken, cli::array <Type ^> ^ genericTypeArguments, cli::array <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);
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. Всегда безопасно предоставлять эти аргументы, даже если они не нужны.

Примечание

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

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

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