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