[在 .NET Framework 4.6.1 及更高版本中受支持]
将方法新定义的 IMetadataEmit::Define* 元数据应用于指定的模块。
Syntax
HRESULT ApplyMetaData(
[in] ModuleID moduleID
);
Parameters
moduleID [in]其元数据已更改的模块的标识符。
Remarks
如果在 ModuleLoadFinished 回调之后进行了元数据更改,则必须在使用新元数据之前调用此方法。
ApplyMetaData 仅支持添加以下类型的元数据:
AssemblyRef记录,通过调用 IMetaDataAssemblyEmit::D efineAssemblyRef 创建。 method.TypeRef记录,通过调用 IMetaDataEmit::D efineTypeRefByName 方法创建。TypeSpec记录,通过调用 IMetaDataEmit::GetTokenFromTypeSpec 方法创建。MemberRef记录,通过调用 IMetaDataEmit::D efineMemberRef 方法创建。MemberSpec记录,通过调用 IMetaDataEmit2::D efineMethodSpec 方法创建。UserString记录,通过调用 IMetaDataEmit::D efineUserString 方法创建。
从 .NET Core 3.0 开始, ApplyMetaData 还支持以下类型:
TypeDef记录,通过调用 IMetaDataEmit::D efineTypeDef 方法创建。MethodDef记录,通过调用 IMetaDataEmit::D efineMethod 方法创建。 但是,不支持向现有类型添加虚拟方法。 必须在 ModuleLoadFinished 回调之前添加虚拟方法。
Requirements
平台:请参阅系统要求。
页眉: CorProf.idl、CorProf.h
Library: CorGuids.lib
.NET Framework 版本: 自 4.6.1 起可用