Partial (Visual Basic)

Aktualisiert: November 2007

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.

Hinweis:

Visual Basic 2008 führt partielle Methoden zur Verwendung in partiellen Klassen ein. Weitere Informationen finden Sie unter Partielle Methoden und unter 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

  • attrlist
    Optional. Liste der Attribute, die für diese Klasse oder Struktur gelten. Sie müssen die Attributliste 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.

  • MustInherit
    Optional. Weitere Informationen finden Sie unter MustInherit.

  • NotInheritable
    Optional. Weitere Informationen finden Sie unter NotInheritable.

  • 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.

  • typelist
    Erforderlich, wenn Sie Of verwenden. Weitere Informationen finden Sie unter Typenliste.

  • 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.

Empfohlene Vorgehensweisen

  • 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.

    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-Anweisung

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)

Konzepte

Typerweiterung

Generische Typen in Visual Basic

Partielle Methoden

Referenz

Class-Anweisung (Visual Basic)

Structure-Anweisung

Shadows