Метод IMetaDataImport::FindMethod
Получает указатель на маркер MethodDef для метода, заключенного в заданный объект Type, и обладающего указанным именем и подписью метаданных.
HRESULT FindMethod (
[in] mdTypeDef td,
[in] LPCWSTR szName,
[in] PCCOR_SIGNATURE pvSigBlob,
[in] ULONG cbSigBlob,
[out] mdMethodDef *pmb
);
Параметры
td
[in] Маркер mdTypeDef для типа (класса или интерфейса), в который заключен искомый член. Если это значение равно mdTokenNil, выполняется поиск глобальной функции.szName
[in] Имя искомого метода.pvSigBlob
[in] Указатель на подпись двоичных метаданных метода.cbSigBlob
[in] Размер значения параметра pvSigBlob (в байтах).pmb
[out] Указатель на соответствующий маркер MethodDef.
Заметки
Метод задается с помощью включающего его класса или интерфейса (td), его имени (szName) и, при необходимости, сигнатуры (pvSigBlob). В классе или интерфейсе может быть несколько методов с одним и тем же именем. В этом случае для поиска уникального соответствия нужно передать сигнатуру метода.
Подпись, передаваемая FindMethod, должна быть сгенерирована в текущей области, поскольку подписи привязаны к определенным областям. В подпись может быть внедрен маркер, идентифицирующий тип класса или значения. Маркер — это индекс в локальной таблице TypeDef. Построить подпись среды выполнения вне контекста текущей области и использовать ее в качестве входных данных, вводимых для FindMethod, невозможно.
Метод FindMethod ищет только методы, которые были определены непосредственно в классе или интерфейсе. Поиск среди унаследованных методов он не выполняет.
Требования
Платформы: см. раздел Требования к системе для .NET Framework.
Заголовок: Cor.h
Библиотека: включена как ресурс в MsCorEE.dll
Версии платформы .NET Framework: 4, 3.5 с пакетом обновления 1 (SP1), 3.5, 3.0 с пакетом обновления 1 (SP1), 3.0, 2.0 с пакетом обновления 1 (SP1), 2.0, 1.1, 1.0