IMetaDataEmit::DefineTypeDef-Methode
Erstellt eine Typdefinition für einen Common Language Runtime-Typ und ruft ein Metadatentoken für diese Typdefinition ab.
Syntax
HRESULT DefineTypeDef (
[in] LPCWSTR szTypeDef,
[in] DWORD dwTypeDefFlags,
[in] mdToken tkExtends,
[in] mdToken rtkImplements[],
[out] mdTypeDef *ptd
);
Parameter
szTypeDef
[in] Der Name des Typs in Unicode.
dwTypeDefFlags
[in] TypeDef
-Attribute. Dies ist eine Bitmaske von CoreTypeAttr
-Werten.
tkExtends
[in] Das Token der Basisklasse. Dies muss entweder ein mdTypeDef
-Token oder ein mdTypeRef
-Token sein.
rtkImplements
[in] Ein Array von Token, das die Schnittstellen angibt, die diese Klasse oder Schnittstelle implementiert.
ptd
[out] Das zugewiesene mdTypeDef
-Token.
Bemerkungen
Ein Flag in dwTypeDefFlags
gibt an, ob der zu erstellende Typ ein Verweistyp des allgemeinen Typsystems (Klasse oder Schnittstelle) oder ein Werttyp des allgemeinen Typsystems ist.
Je nach angegebenen Parametern kann diese Methode als Nebeneffekt auch einen mdInterfaceImpl
-Datensatz für jede Schnittstelle erstellen, die von diesem Typ geerbt oder implementiert wird. Diese Methode gibt jedoch keines dieser mdInterfaceImpl
-Token zurück. Wenn ein Client später ein mdInterfaceImpl
-Token hinzufügen oder ändern möchte, muss er die IMetaDataImport
-Schnittstelle verwenden, um sie aufzulisten. Wenn Sie die COM-Semantik der [default]
-Schnittstelle verwenden möchten, sollten Sie die Standardschnittstelle als erstes Element in rtkImplements
angeben. Ein benutzerdefiniertes Attribut, das für die Klasse festgelegt ist, gibt an, dass die Klasse über eine Standardschnittstelle verfügt (wobei immer davon ausgegangen wird, dass es sich um das erste mdInterfaceImpl
-Token handelt, das für die Klasse deklariert wurde).
Jedes Element des rtkImplements
-Arrays enthält ein mdTypeDef
- oder mdTypeRef
-Token. Das letzte Element im Array muss mdTokenNil
sein.
Anforderungen
Plattformen: Informationen finden Sie unter Systemanforderungen.
Header: Cor.h
Bibliothek: Als Ressource in „MSCorEE.dll“ verwendet
.NET Framework-Versionen: Seit Version 1.0 verfügbar