Partial (Visual Basic)

Gibt an, dass eine Klasse oder Strukturdeklaration eine partielle Definition der Klasse oder Struktur ist.

Sie können die Definition einer Klasse oder Struktur mit dem Partial-Schlüsselwort auf mehrere Deklarationen aufteilen. Sie können beliebig viele partielle Deklarationen in beliebig vielen unterschiedlichen Quelldateien verwenden. Alle Deklarationen müssen jedoch in der gleichen Assembly und dem gleichen Namespace enthalten sein.

Tipp

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

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

Bestandteile

Ausdruck

Definition

attrlist

Optional. Liste der Attribute, die für diese Klasse oder Struktur gelten. Sie müssen die Attributliste (Visual Basic) in spitze Klammern (< >) einschließen.

accessmodifier

Optional. Gibt an, welcher Code auf diese Klasse oder Struktur zugreifen kann. Weitere Informationen finden Sie unter Zugriffsebenen in Visual Basic.

Shadows

Optional. Weitere Informationen finden Sie unter Shadows (Visual Basic).

MustInherit

Optional. Weitere Informationen finden Sie unter MustInherit (Visual Basic).

NotInheritable

Optional. Weitere Informationen finden Sie unter NotInheritable (Visual Basic).

name

Erforderlich. Name dieser Klasse oder Struktur. Muss mit dem Namen übereinstimmen, der in allen anderen partiellen Deklarationen derselben Klasse oder Struktur definiert ist.

Of

Optional. Gibt an, dass es sich um eine generische Klasse oder Struktur handelt. Weitere Informationen finden Sie unter Generische Typen in Visual Basic (Visual Basic).

typelist

Erforderlich, wenn Sie Of verwenden. Weitere Informationen finden Sie unter Typenliste (Visual Basic).

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 dieser Klasse oder Struktur implementierten Schnittstellen.

variabledeclarations

Optional. Anweisungen, die zusätzliche Variablen und Ereignisse für die Klasse oder Struktur deklarieren.

proceduredeclarations

Optional. Anweisungen, die zusätzliche Prozeduren für die Klasse oder die Struktur deklarieren und definieren.

End Class oder End Structure

Beendet diese partielle Class-Definition oder Structure-Definition.

Hinweise

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 einer partiellen Klasse oder Struktur gelten alle Regeln für die Erstellung von Klassen und Strukturen, beispielsweise diejenigen für die Verwendung und Vererbung von Modifizierern.

Bewährte Methoden

  • Normalerweise wird die Entwicklung einer einzelnen Klasse oder Struktur 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 einer Klasse oder Struktur 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, wird ein Fehler angezeigt.

Verhalten

  • Union von Deklarationen. Der Compiler behandelt die Klasse oder Struktur als die Union all ihrer partiellen Deklarationen. Jeder Modifizierer aus jeder partiellen Definition wird auf die gesamte Klasse oder Struktur angewendet, und jeder Member aus jeder partiellen Definition steht der gesamten Klasse oder Struktur 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 diese Klasse oder Struktur 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 (Visual Basic).

    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 Statement

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

Aufgaben

Gewusst wie: Erstellen einer partiellen Methode (Visual Basic)

Referenz

Class-Anweisung (Visual Basic)

Structure-Anweisung

Shadows (Visual Basic)

Konzepte

Typerweiterung (Visual Basic)

Generische Typen in Visual Basic (Visual Basic)

Partielle Methoden (Visual Basic)