IMetaDataEmit::DefineTypeDef 方法
创建公共语言运行时类型的类型定义,并获取该类型定义的元数据标记。
语法
HRESULT DefineTypeDef (
[in] LPCWSTR szTypeDef,
[in] DWORD dwTypeDefFlags,
[in] mdToken tkExtends,
[in] mdToken rtkImplements[],
[out] mdTypeDef *ptd
);
参数
szTypeDef
[in] Unicode 中的类型的名称。
dwTypeDefFlags
[in] TypeDef
属性。 这是 CoreTypeAttr
值的位掩码。
tkExtends
[in] 基类的标记。 它必须是 mdTypeDef
或 mdTypeRef
标记。
rtkImplements
[in] 指定此类或接口实现的接口的标记数组。
ptd
[out] 分配的 mdTypeDef
令牌。
注解
dwTypeDefFlags
中的标志指定要创建的类型是通用类型系统引用类型(类或接口)还是通用类型系统值类型。
根据所提供的参数,副作用是此方法还可以为由该类型继承或实现的每个接口创建一个 mdInterfaceImpl
记录。 但是,此方法不返回任何此类 mdInterfaceImpl
标记。 如果客户端想要以后添加或修改 mdInterfaceImpl
标记,则必须使用 IMetaDataImport
接口对其进行枚举。 如果要使用 [default]
接口的 COM 语义,则应该提供默认接口作为 rtkImplements
中的第一个元素;在类上设置的自定义属性将指示该类具有默认接口(始终假定其作为为该类声明的第一个 mdInterfaceImpl
标记)。
rtkImplements
数组的每个元素都包含 mdTypeDef
或 mdTypeRef
标记。 数组中的最后一个元素必须是 mdTokenNil
。
要求
平台:请参阅系统要求。
标头:Cor.h
库:用作 MSCorEE.dll 中的资源
.NET Framework 版本:自 1.0 起可用