Метод 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