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.
Hinweis
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 }
Teile
Begriff |
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:
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
Referenz
Class-Anweisung (Visual Basic)