Freigeben über


CodeTypeDeclaration-Klasse

Stellt eine Typdeklaration für eine Klasse, Struktur, Schnittstelle oder Enumeration dar.

Namespace: System.CodeDom
Assembly: System (in system.dll)

Syntax

'Declaration
<SerializableAttribute> _
<ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)> _
<ComVisibleAttribute(True)> _
Public Class CodeTypeDeclaration
    Inherits CodeTypeMember
'Usage
Dim instance As CodeTypeDeclaration
[SerializableAttribute] 
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)] 
[ComVisibleAttribute(true)] 
public class CodeTypeDeclaration : CodeTypeMember
[SerializableAttribute] 
[ClassInterfaceAttribute(ClassInterfaceType::AutoDispatch)] 
[ComVisibleAttribute(true)] 
public ref class CodeTypeDeclaration : public CodeTypeMember
/** @attribute SerializableAttribute() */ 
/** @attribute ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) */ 
/** @attribute ComVisibleAttribute(true) */ 
public class CodeTypeDeclaration extends CodeTypeMember
SerializableAttribute 
ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) 
ComVisibleAttribute(true) 
public class CodeTypeDeclaration extends CodeTypeMember

Hinweise

Mit einer CodeTypeDeclaration-Klasse kann Code dargestellt werden, der eine Klasse, Struktur, Schnittstelle oder Enumeration deklariert. Mit einer CodeTypeDeclaration-Klasse kann ein Typ deklariert werden, der in einem anderen Typ geschachtelt ist.

Die BaseTypes-Eigenschaft gibt den Basistyp oder die Basistypen des deklarierten Typs an. Die Members-Eigenschaft enthält die Typmember, die Methoden, Felder, Eigenschaften, Kommentare und andere Typen enthalten können. Die TypeAttributes-Eigenschaft gibt die TypeAttributes-Werte für die Typdeklaration an, die die Typkategorie des Typs angeben. Die IsClass-Methode, die IsStruct-Methode, die IsEnum-Methode und die IsInterface-Methode geben an, ob es sich bei dem Typ um einen Klassen-, Struktur-, Enumerations- oder Schnittstellentyp handelt.

Hinweis

Einige Programmiersprachen unterstützen lediglich die Deklaration von Verweistypen oder Klassen. Um zu überprüfen, ob ein sprachspezifischer CodeDOM-Code-Generator die Deklaration von Schnittstellen, Enumerationen oder Werttypen unterstützt, rufen Sie die Supports-Methode auf, um auf die entsprechenden GeneratorSupport-Flags zu testen. Die DeclareInterfaces-Methode gibt die Unterstützung für Schnittstellen an, die DeclareEnums-Methode die Unterstützung für Enumerationen und die DeclareValueTypes-Methode die Unterstützung für Werttypen (z. B. Strukturen).

Sie können eine Klassen- oder Strukturimplementierung in einer vollständigen Deklaration erstellen oder die Implementierung über mehrere Deklarationen verteilen. Die IsPartial-Eigenschaft gibt an, ob die Typdeklaration vollständig oder partiell ist. Nicht alle Codegeneratoren unterstützen partielle Typdeklarationen. Daher sollten Sie diese Unterstützung überprüfen, indem Sie die Supports-Methode mit dem PartialTypes-Flag aufrufen.

Beispiel

Dieses Beispiel veranschaulicht, wie mit einer CodeTypeDeclaration-Klasse ein Typ deklariert wird.

' Creates a new type declaration.
Dim newType As New CodeTypeDeclaration("TestType")
   ' name parameter indicates the name of the type.
   ' Sets the member attributes for the type to private.
   newType.Attributes = MemberAttributes.Private
   ' Sets a base class which the type inherits from.
   newType.BaseTypes.Add("BaseType")

' A Visual Basic code generator produces the following source code for the preceeding example code:

' Class TestType
'    Inherits BaseType
' End Class
// Creates a new type declaration.
CodeTypeDeclaration newType = new CodeTypeDeclaration(
    // name parameter indicates the name of the type.
    "TestType");
// Sets the member attributes for the type to private.
newType.Attributes = MemberAttributes.Private;
// Sets a base class which the type inherits from.
newType.BaseTypes.Add( "BaseType" );            

// A C# code generator produces the following source code for the preceeding example code:

// class TestType : BaseType
// {
// }
// Creates a new type declaration.

// name parameter indicates the name of the type.
CodeTypeDeclaration^ newType = gcnew CodeTypeDeclaration( "TestType" );

// Sets the member attributes for the type to private.
newType->Attributes = MemberAttributes::Private;

// Sets a base class which the type inherits from.
newType->BaseTypes->Add( "BaseType" );

// A C# code generator produces the following source code for the preceeding example code:
// class TestType : BaseType
// {
// }
// Creates a new type declaration.
CodeTypeDeclaration newType = new CodeTypeDeclaration(
    // name parameter indicates the name of the type.
    "TestType");

// Sets the member attributes for the type to private.
newType.set_Attributes(MemberAttributes.Private);

// Sets a base class which the type inherits from.
newType.get_BaseTypes().Add("BaseType");
// A VJ# code generator produces the following source code for the
// preceeding example code:
// class TestType extends BaseType
// {
// }

Vererbungshierarchie

System.Object
   System.CodeDom.CodeObject
     System.CodeDom.CodeTypeMember
      System.CodeDom.CodeTypeDeclaration
         System.CodeDom.CodeTypeDelegate

Threadsicherheit

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

CodeTypeDeclaration-Member
System.CodeDom-Namespace
CodeTypeDeclarationCollection
GeneratorSupport