CodeTypeDeclaration.IsPartial Eigenschaft

Definition

Ruft einen Wert ab, der angibt, ob die Typdeklaration vollständig oder partiell ist, oder legt diesen Wert fest.

public:
 property bool IsPartial { bool get(); void set(bool value); };
public bool IsPartial { get; set; }
member this.IsPartial : bool with get, set
Public Property IsPartial As Boolean

Eigenschaftswert

Boolean

true, wenn die Klassen- oder Strukturdeklaration eine partielle Repräsentation der Implementierung darstellt, und false, wenn die Deklaration eine vollständige Implementierung der Klasse oder der Struktur ist. Der Standardwert ist false.

Beispiele

In diesem Beispiel wird die Verwendung einer CodeTypeDeclaration Klassenimplementierung über mehrere Deklarationen veranschaulicht. Das Beispiel erstellt die anfängliche Klassendeklarationsanweisung und legt die IsPartial Eigenschaft auf true.

CodeTypeDeclaration^ baseClass = gcnew CodeTypeDeclaration( "DocumentProperties" );
baseClass->IsPartial = true;
baseClass->IsClass = true;
baseClass->Attributes = MemberAttributes::Public;
baseClass->BaseTypes->Add( gcnew CodeTypeReference( System::Object::typeid ) );

// Add the DocumentProperties class to the namespace.
sampleSpace->Types->Add( baseClass );
            CodeTypeDeclaration baseClass = new CodeTypeDeclaration("DocumentProperties");
            baseClass.IsPartial = true;
            baseClass.IsClass = true;
            baseClass.Attributes = MemberAttributes.Public;
            baseClass.BaseTypes.Add(new CodeTypeReference(typeof(System.Object
)));

            // Add the DocumentProperties class to the namespace.
            sampleSpace.Types.Add(baseClass);
Dim baseClass As CodeTypeDeclaration = New CodeTypeDeclaration("DocumentProperties")
baseClass.IsPartial = True
baseClass.IsClass = True
baseClass.Attributes = MemberAttributes.Public
baseClass.BaseTypes.Add(New CodeTypeReference(GetType(System.Object)))

' Add the DocumentProperties class to the namespace.
sampleSpace.Types.Add(baseClass)

Eine andere Methode im Beispiel erweitert die Klassenimplementierung. Diese Methode erstellt eine neue Typdeklarationsanweisung für die vorhandene Klasse und legt die IsPartial Eigenschaft auf true. Der Compiler kombiniert die beiden partiellen Typdeklarationen für die vollständige Klassenimplementierung.

CodeTypeDeclaration^ baseClass = gcnew CodeTypeDeclaration( "DocumentProperties" );
baseClass->IsPartial = true;
baseClass->IsClass = true;
baseClass->Attributes = MemberAttributes::Public;

// Extend the DocumentProperties class in the unit namespace.
( *docPropUnit)->Namespaces[ 0 ]->Types->Add( baseClass );
CodeTypeDeclaration baseClass = new CodeTypeDeclaration("DocumentProperties");
baseClass.IsPartial = true;
baseClass.IsClass = true;
baseClass.Attributes = MemberAttributes.Public;

// Extend the DocumentProperties class in the unit namespace.
docPropUnit.Namespaces[0].Types.Add(baseClass);
Dim baseClass As CodeTypeDeclaration = New CodeTypeDeclaration("DocumentProperties")
baseClass.IsPartial = True
baseClass.IsClass = True
baseClass.Attributes = MemberAttributes.Public

' Extend the DocumentProperties class in the unit namespace.
docPropUnit.Namespaces(0).Types.Add(baseClass)

Hinweise

Sie können eine Klassen- oder Strukturimplementierung in einer vollständigen Deklaration erstellen oder die Implementierung über mehrere Deklarationen hinweg verteilen. Implementierungen werden häufig in einer vollständigen Typdeklaration bereitgestellt. Legen Sie in diesem Fall die Typdeklarationseigenschaft IsPartial auf false, die angibt, dass die Typdeklaration alle Details für die Klassen- oder Strukturimplementierung darstellt.

Eine partielle Typdeklaration erleichtert das Erstellen verschiedener Teile einer Klassen- oder Strukturimplementierung in verschiedenen Modulen Ihrer Anwendung. Die Teiltypdeklarationen können in einer Quelldatei gespeichert oder auf mehrere Quelldateien verteilt werden, die schließlich zusammen kompiliert werden, um die kombinierte Typimplementierung zu bilden.

Die C#-Sprache unterstützt teilweise Typdeklarationen von Klassen und Strukturen über das partial Schlüsselwort. Visual Basic unterstützt partielle Typdeklarationen von Klassen und Strukturen mit dem Partial Schlüsselwort. Nicht alle Codegeneratoren unterstützen partielle Typdeklarationen, daher sollten Sie diese Unterstützung testen, indem Sie die Supports Methode mit dem Flag PartialTypesaufrufen.

Hinweis

Partielle Typdeklarationen werden für Klassen und Strukturen unterstützt. Wenn Sie eine partielle Typdeklaration für eine Enumeration oder Schnittstelle angeben, erzeugt der generierte Code Compilerfehler.

Legen Sie beim Bereitstellen einer Klassen- oder Strukturimplementierung über mehrere Deklarationen hinweg die IsPartial Eigenschaft true für die anfängliche Deklaration und alle ergänzenden Deklarationen fest. Die anfängliche Deklaration muss die Typsignatur vollständig angeben, einschließlich Zugriffsmodifizierer, geerbter Typen und implementierter Schnittstellen. Die ergänzenden Deklarationen müssen die Typsignatur nicht erneut angeben. Ein Compilerfehler führt in der Regel dazu, wenn Sie die Typsignatur in einer zusätzlichen Deklaration neu definieren.

Visual Studio 2005 verwendet Partielle Typen, um vom Designercode generierten Code zu trennen. In Visual Basic Windows Application-Projekten wird der Benutzercode in einer Teilklasse platziert, die nicht durch das Partial Schlüsselwort qualifiziert ist. Der vom Designer bereitgestellte Code wird in der Teilklasse mit dem Partial Schlüsselwort angezeigt. In C# werden sowohl der Benutzercode als auch der Designercode in Teilklassen angezeigt, die durch das partial Schlüsselwort identifiziert werden.

Gilt für

Siehe auch