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


Метод IMetaDataImport::FindField

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

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

Параметры

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

  • szName
    [in] Имя искомого поля.

  • pvSigBlob
    [in] Указатель на подпись двоичных метаданных поля.

  • cbSigBlob
    [in] Размер значения параметра pvSigBlob (в байтах).

  • pmb
    [in, out] Указатель на соответствующий маркер FieldDef.

Заметки

Чтобы задать поле, следует воспользоваться включающим его классом или интерфейсом (td), его именем (szName) и, при необходимости, его подписью (pvSigBlob).

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

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

Требования

Платформы: см. раздел Требования к системе для .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

См. также

Ссылки

Интерфейс IMetaDataImport

Интерфейс IMetaDataImport2