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

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 veranschaulicht, wie sie eine CodeTypeDeclaration Klassenimplementierung über mehrere Deklarationen hinweg bereitstellen. Im Beispiel wird die anfängliche Klassendeklarationsanweisung erstellt und die IsPartial -Eigenschaft auf truefestgelegt.

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 fest 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 auf mehrere Deklarationen verteilen. Implementierungen werden in der Regel in einer vollständigen Typdeklaration bereitgestellt. Legen Sie in diesem Fall die Typdeklarationseigenschaft IsPartial auf fest false, was angibt, dass die Typdeklaration alle Details für die Klasse oder Strukturimplementierung darstellt.

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

Die C#-Sprache unterstützt partielle Typdeklarationen von Klassen und Strukturen über die partial Schlüsselwort (keyword). Visual Basic unterstützt partielle Typdeklarationen von Klassen und Strukturen mit dem Partial Schlüsselwort (keyword). Nicht alle Codegeneratoren unterstützen partielle Typdeklarationen. Daher sollten Sie diese Unterstützung testen, indem Sie die -Methode mit dem Supports 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 auf true für die erste Deklaration und alle zusätzlichen Deklarationen fest. Die anfängliche Deklaration muss die Typsignatur vollständig angeben, einschließlich Zugriffsmodifizierer, geerbter Typen und implementierter Schnittstellen. Die zusätzlichen Deklarationen müssen die Typsignatur nicht erneut angeben. Ein Compilerfehler tritt in der Regel auf, wenn Sie die Typsignatur in einer zusätzlichen Deklaration neu definieren.

Visual Studio 2005 verwendet Partielle Typen, um vom Benutzer generierten Code von Designercode zu trennen. In Visual Basic Windows-Anwendungsprojekten wird der Benutzercode in einer partiellen Klasse platziert, die Partial nicht vom Schlüsselwort (keyword) qualifiziert ist. Der vom Designer bereitgestellte Code wird in der partiellen Klasse angezeigt, die über die Partial Schlüsselwort (keyword) verfügt. In C# werden sowohl der Benutzercode als auch der Designercode in partiellen Klassen angezeigt, die partial vom Schlüsselwort (keyword) identifiziert werden.

Gilt für:

Weitere Informationen