Partial (Visual Basic)

Gibt an, dass eine Typdeklaration eine partielle Definition des Typs ist.

Mit dem Partial-Schlüsselwort können Sie die Typdefinition auf mehrere Deklarationen aufteilen. Sie können beliebig viele partielle Deklarationen in beliebig vielen verschiedenen Quelldateien verwenden. Alle Deklarationen müssen jedoch in der gleichen Assembly und dem gleichen Namespace enthalten sein.

Hinweis

Visual Basic unterstützt partielle Methoden, die in der Regel in partiellen Klassen implementiert werden. Weitere Informationen finden Sie unter Partielle Methoden und Sub-Anweisung.

Syntax

[ <attrlist> ] [ accessmodifier ] [ Shadows ] [ MustInherit | NotInheritable ] _  
Partial { Class | Structure | Interface | Module } name [ (Of typelist) ]  
    [ Inherits classname ]  
    [ Implements interfacenames ]  
    [ variabledeclarations ]  
    [ proceduredeclarations ]  
{ End Class | End Structure }  

Bestandteile

Begriff Definition
attrlist Dies ist optional. Liste der Attribute, die für diesen Typ gelten. Sie müssen die Attributlistein spitze Klammern (< >) einschließen.
accessmodifier Optional. Gibt an, welcher Code auf diesen Typ zugreifen kann. Siehe Access levels in Visual Basic.
Shadows Optional. Siehe Shadows.
MustInherit Optional. Siehe MustInherit.
NotInheritable Optional. Weitere Informationen finden Sie unter NotInheritable.
name Erforderlich. Der Name dieses Typs. Muss mit dem Namen übereinstimmen, der in allen anderen partiellen Deklarationen desselben Typs definiert ist.
Of Optional. Gibt an, dass dies ein generischer Typ ist. Weitere Informationen finden Sie unter Generische Typen in Visual Basic.
typelist Erforderlich, wenn Sie Ofverwenden. Siehe Typliste.
Inherits Optional. Weitere Informationen finden Sie unter Inherits-Anweisung.
classname Erforderlich, wenn Sie Inherits verwenden. Der Name der Klasse oder Schnittstelle, von der diese Klasse abgeleitet wird.
Implements Optional. Weitere Informationen finden Sie unter Implements-Anweisung.
interfacenames Erforderlich, wenn Sie Implements verwenden. Die Namen der von diesem Typ implementierten Schnittstellen.
variabledeclarations Optional. Anweisungen, die zusätzliche Variablen und Ereignisse für den Typ definieren.
proceduredeclarations Optional. Anweisungen, die zusätzliche Prozeduren für den Typ deklarieren und definieren.
End Class oder End Structure Beendet diese partielle Class- oder Structure-Definition.

Bemerkungen

Visual Basic verwendet partielle Klassendefinitionen, um in jeweils eigenen Quelldateien generierten Code von Code zu trennen, der vom Benutzer erstellt wurde. Zum Beispiel definiert der Windows Form-Designer partielle Klassen für Steuerelemente, z.B. Form. Sie sollten den generierten Code in diesen Steuerelementen nicht ändern.

Beim Erstellen eines partiellen Typs gelten alle Regeln für die Erstellung von Klassen, Strukturen, Schnittstellen und Modulen, beispielsweise diejenigen für die Verwendung und Vererbung von Modifizierern.

Bewährte Methoden

  • Normalerweise wird die Entwicklung eines einzelnen Typs nicht auf zwei oder mehr Deklarationen aufgeteilt. In der Regel benötigen Sie das Partial-Schlüsselwort daher nicht.

  • Zur besseren Lesbarkeit sollte jede partielle Deklaration eines Typs das Partial-Schlüsselwort enthalten. Der Compiler gestattet den Wegfall des Schlüsselworts nur bei höchstens einer partiellen Deklaration. Fällt es bei mehr als einer Deklaration weg, tritt ein Fehler auf.

Verhalten

  • Union von Deklarationen Der Compiler behandelt den Typ als die Union all seiner partiellen Deklarationen. Jeder Modifizierer aus jeder partiellen Definition wird auf den gesamten Typ angewendet, und jeder Member aus jeder partiellen Definition steht dem gesamten Typ zur Verfügung.

  • Typerweiterung nicht zulässig für partielle Typen in Modulen. Wenn eine partielle Definition in einem Modul enthalten ist, ist automatisch keine Typerweiterung für diesen Typ möglich. In einem solchen Fall kann eine Reihe partieller Definitionen zu unerwarteten Ergebnissen und sogar zu Compilerfehlern führen. Weitere Informationen finden Sie unter Typerweiterung.

    Der Compiler führt partielle Definitionen nur zusammen, wenn ihre voll qualifizierten Pfade identisch sind.

Das Partial-Schlüsselwort kann in den folgenden Kontexten verwendet werden:

Class-Anweisung

Structure Statement

Beispiel

Im folgenden Beispiel wird die Definition der sampleClass-Klasse auf zwei Deklarationen aufgeteilt, die jeweils eine andere Sub-Prozedur definieren.

Partial Public Class sampleClass
    Public Sub sub1()
    End Sub
End Class
Partial Public Class sampleClass
    Public Sub sub2()
    End Sub
End Class

Die beiden partiellen Definitionen aus dem vorhergehenden Beispiel können in derselben Quelldatei oder in zwei unterschiedlichen Quelldateien enthalten sein.

Siehe auch