IMetaDataEmit::DefineTypeDef Method

Tworzy definicję typu dla typu środowiska uruchomieniowego języka wspólnego i pobiera token metadanych dla tej definicji typu.

Syntax

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

Parameters

szTypeDef [in] Nazwa typu w standardzie Unicode.

dwTypeDefFlags [in] TypeDef Atrybuty. Jest to maska bitów CoreTypeAttr wartości.

tkExtends [in] Token klasy bazowej. Musi to być mdTypeDef token lub mdTypeRef .

rtkImplements [in] Tablica tokenów określających interfejsy implementujące tę klasę lub interfejs.

ptd [out] Przypisany mdTypeDef token.

Remarks

Flaga w programie dwTypeDefFlags określa, czy typ, który jest tworzony, jest typem referencyjnym systemu typu (klasa lub interfejs) czy typ typ wartości systemowej.

W zależności od podanych parametrów ta metoda, jako efekt uboczny, może również utworzyć mdInterfaceImpl rekord dla każdego interfejsu, który jest dziedziczony lub implementowany przez ten typ. Jednak ta metoda nie zwraca żadnego z tych mdInterfaceImpl tokenów. Jeśli klient chce później dodać lub zmodyfikować mdInterfaceImpl token, musi użyć interfejsu IMetaDataImport , aby je wyliczyć. Jeśli chcesz użyć semantyki COM interfejsu [default] , należy podać interfejs domyślny jako pierwszy element w rtkImplements; atrybut niestandardowy ustawiony w klasie będzie wskazywać, że klasa ma interfejs domyślny (który zawsze zakłada się, że jest pierwszym mdInterfaceImpl tokenem zadeklarowanym dla klasy).

Każdy element tablicy rtkImplements zawiera mdTypeDef token lub mdTypeRef . Ostatnim elementem w tablicy musi być mdTokenNil.

Requirements

Platformy: Zobacz Obsługiwane systemy operacyjne platformy .NET.

Header: Cor.h

Library: CorGuids.lib

See also