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


Метод IMetaDataImport::FindMethod

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

Syntax

HRESULT FindMethod (
   [in]  mdTypeDef          td,
   [in]  LPCWSTR            szName,
   [in]  PCCOR_SIGNATURE    pvSigBlob,
   [in]  ULONG              cbSigBlob,
   [out] mdMethodDef        *pmb
);

Parameters

td [in] Маркер mdTypeDef типа (класса или интерфейса), который заключает элемент для поиска. Если это значение имеет значение mdTokenNil, поиск выполняется для глобальной функции.

szName [in] Имя метода для поиска.

pvSigBlob [in] Указатель на сигнатуру двоичных метаданных метода.

cbSigBlob [in] Размер в байтах pvSigBlob.

pmb [out] Указатель на соответствующий токен MethodDef.

Remarks

Вы указываете метод с помощью включающего класса или интерфейса (), его имени (tdszName) и при необходимости его сигнатуры (pvSigBlob). В классе или интерфейсе может быть несколько методов с одинаковым именем. В этом случае передайте подпись метода, чтобы найти уникальное совпадение.

Сигнатура, переданная FindMethod в текущую область, должна быть создана, так как подписи привязаны к определенной области. Сигнатура может внедрить маркер, определяющий вложенный класс или тип значения. Маркер является индексом в локальной таблице TypeDef. Вы не можете создать подпись среды выполнения вне контекста текущей области и использовать эту подпись в качестве входных данных FindMethod.

FindMethod находит только методы, которые были определены непосредственно в классе или интерфейсе; Он не находит унаследованные методы.

Requirements

Платформ: См. сведения о поддерживаемых операционных системах .NET.

Заголовок: Cor.h

Библиотека: CorGuids.lib

См. также