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