Sdílet prostřednictvím


IMetaDataEmit::DefineTypeDef – metoda

Vytvoří definici typu pro typ modulu CLR (Common Language Runtime) a získá token metadat pro definici daného typu.

Syntaxe

HRESULT DefineTypeDef (
    [in]  LPCWSTR     szTypeDef,
    [in]  DWORD       dwTypeDefFlags,
    [in]  mdToken     tkExtends,
    [in]  mdToken     rtkImplements[],
    [out] mdTypeDef   *ptd  
);  

Parametry

szTypeDef
[v] Název typu v kódování Unicode.

dwTypeDefFlags
[v] TypeDef Atributy. Toto je bitová maska CoreTypeAttr hodnot.

tkExtends
[v] Token základní třídy. Musí to být buď token, mdTypeDef nebo mdTypeRef .

rtkImplements
[v] Pole tokenů určující rozhraní, které tato třída nebo rozhraní implementuje.

ptd
[out] Přiřazený mdTypeDef token.

Poznámky

Příznak v dwTypeDefFlags určuje, jestli je vytvářený typ běžným referenčním typem systému typů (třída nebo rozhraní) nebo běžným typem hodnot systému typů.

V závislosti na zadaných parametrech může tato metoda jako vedlejší efekt také vytvořit mdInterfaceImpl záznam pro každé rozhraní, které je zděděno nebo implementováno tímto typem. Tato metoda však nevrací žádný z těchto mdInterfaceImpl tokenů. Pokud chce klient později přidat nebo upravit mdInterfaceImpl token, musí k jeho výčtu IMetaDataImport použít rozhraní. Pokud chcete použít sémantiku [default] COM rozhraní, měli byste jako první prvek v rtkImplementszadat výchozí rozhraní. Vlastní atribut nastavený ve třídě bude znamenat, že třída má výchozí rozhraní (které se vždy předpokládá jako první mdInterfaceImpl token deklarovaný pro třídu).

Každý prvek rtkImplements pole obsahuje mdTypeDef token nebo mdTypeRef . Poslední prvek v poli musí být mdTokenNil.

Požadavky

Platformy: Viz Požadavky na systém.

Záhlaví: Cor.h

Knihovny: Používá se jako prostředek v MSCorEE.dll

Verze rozhraní .NET Framework: K dispozici od verze 1.0

Viz také