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] 基类的标记。 它必须是 mdTypeDefmdTypeRef 标记。

rtkImplements
[in] 指定此类或接口实现的接口的标记数组。

ptd
[out] 分配的 mdTypeDef 令牌。

注解

dwTypeDefFlags 中的标志指定要创建的类型是通用类型系统引用类型(类或接口)还是通用类型系统值类型。

根据所提供的参数,副作用是此方法还可以为由该类型继承或实现的每个接口创建一个 mdInterfaceImpl 记录。 但是,此方法不返回任何此类 mdInterfaceImpl 标记。 如果客户端想要以后添加或修改 mdInterfaceImpl 标记,则必须使用 IMetaDataImport 接口对其进行枚举。 如果要使用 [default] 接口的 COM 语义,则应该提供默认接口作为 rtkImplements 中的第一个元素;在类上设置的自定义属性将指示该类具有默认接口(始终假定其作为为该类声明的第一个 mdInterfaceImpl 标记)。

rtkImplements 数组的每个元素都包含 mdTypeDefmdTypeRef 标记。 数组中的最后一个元素必须是 mdTokenNil

要求

平台:请参阅系统要求

标头:Cor.h

库:用作 MSCorEE.dll 中的资源

.NET Framework 版本:自 1.0 起可用

另请参阅