IMetaDataImport::FindMember 方法
获取一个指向字段或方法的 MemberDef 标记的指针,该字段或方法由指定的 Type 封闭,并且具有指定的名称和元数据签名。
HRESULT FindMember (
[in] mdTypeDef td,
[in] LPCWSTR szName,
[in] PCCOR_SIGNATURE pvSigBlob,
[in] ULONG cbSigBlob,
[out] mdToken *pmb
);
参数
td
[in] 封闭待搜索成员的类或接口的 TypeDef 标记。 如果此值为 mdTokenNil,则会对全局变量或全局函数执行查找。szName
[in] 要搜索的成员的名称。pvSigBlob
[in] 指向成员的二进制元数据签名的指针。cbSigBlob
[in] pvSigBlob 的大小(以字节为单位)。pmb
[out] 一个指向匹配的 MemberDef 标记的指针。
备注
您可以使用成员的封闭类或接口 (td)、其名称 (szName) 和可选签名 (pvSigBlob) 来指定成员。 在一个类或接口中可能存在多个同名成员。 在这种情况下,请传递该成员的签名以查找唯一匹配项。
传递给 FindMember 的签名必须已在当前范围内生成,因为签名绑定到特定范围。 签名中可以嵌入标识封闭类或值类型的标记。 该标记是本地 TypeDef 表中的索引。 不能在当前范围的上下文之外生成运行时签名并将该签名用作 FindMember 的输入。
FindMember 只查找直接在类或接口中定义的成员,它不查找继承的成员。
注意 |
---|
FindMember 是一个 Helper 方法。它调用 IMetaDataImport::FindMethod;如果该调用未找到匹配项,FindMember 随后将调用 IMetaDataImport::FindField。 |
要求
**平台:**请参见 .NET Framework 系统要求。
**头文件:**Cor.h
**库:**作为一项资源包含在 MsCorEE.dll 中
**.NET Framework 版本:**4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0、1.1、1.0