Neues in Visual Basic 2005: Partielle Klassen

Veröffentlicht: 21. Mrz 2006

Von Mathias Schiffer

Mit Visual Basic 2005 können Sie Ihre Klassen und Strukturen in verschiedenen Dateien unterbringen. Dieser MSDN Quickie zeigt, wie das geht und erklärt, warum das Sinn macht.

Mit Visual Basic 2005 muss der Sourcecode einer Klasse oder Struktur nicht mehr zwingend in einer einzigen Datei untergebracht werden. Möglich ist nun auch die Aufteilung des Sourcecodes in mehrere Teile, sogar in mehrere Dateien. Dabei ist die Anwendung denkbar einfach: Sie verwenden in den jeweiligen Deklarationszeilen das Schlüsselwort „Partial“, schon können Sie scheinbar mehrere Klassen (oder Strukturen) mit demselben Namen verwenden – als partielle Klassen. Dies kann innerhalb desselben Moduls sein, darf aber auch in verschiedenen Modulen geschehen. Notwendig bleibt in jedem Fall selbstverständlich, dass alle Fragmente der Klasse im selben Namespace derselben Assembly untergebracht sind.

Ein triviales Beispiel für die Anwendung partieller Klassen:

Partial Public Class MyPartialClass
  
  Public HelloText As String
  
End Class
  
  
Partial Public Class MyPartialClass
  
  Public Sub SayHello()
    MessageBox.Show(HelloText)
  End Sub
  
End Class

Erlaubt ist übrigens auch, dass ein einziges der beteiligten Klassenfragmente ohne das neue Schlüsselwort definiert wird. Wenn nicht gerade eine unveränderliche Klasse durch partielle Ergänzungen erweitert werden soll, wird es jedoch im Regelfall hilfreicher sein, eine jede Teilklasse explizit als solche zu kennzeichnen.

Wofür sind partielle Klassen nutzbar?

Diese neue Technologie setzt auch Visual Studio 2005 selber ein, um Code des Entwicklers strikt von generiertem Code zu trennen (z.B. im Fall des Windows Forms Designers in den Dateien Form1.Designer.vb und Form1.vb). So können fehlerhafte Eingriffe in diese Codeabschnitte gerade durch weniger versierte Anwender verringert werden. Zudem bleibt der eigene, zu bearbeitende Sourcecode übersichtlicher als durch das bisherige Ausblenden mithilfe von Code-Regionen.

Neben diesem lassen sich auch weitere Vorteile des Einsatzes partieller Klassen finden: So können etwa einfache oder definierte Teilaufgaben einer Klassenlösung in verschiedene Hände gegeben und später so gut wie ohne Aufwand zusammengeführt werden. Hiervon profitieren auch Versionskontrollsysteme und die Entwicklung im Team. Auch die Herausgabe kritischen Quellcodes an externe Entwickler lässt sich bei geschickter Anwendung vermeiden.

Ebenfalls sinnvoll einsetzbar sind partielle Klassen dann, wenn Codebestandteile einer Klasse fertig gestellt und ausreichend getestet worden sind: Sie können dann, vergleichbar zum Vorgehen der Entwicklungsumgebung, in eine partielle Klasse „ausgelagert“ und damit vor unbeabsichtigten oder ungewollten Änderungen geschützt werden. Darüber hinaus können auch Klassenbestandteile profitieren, deren Unabänderbarkeit nicht etwa technologisch, sondern definitorisch festgelegt wurde (etwa aus organisatorischen oder rechtlichen Gründen).

Fraglos werden Sie noch weitere Möglichkeiten finden, als Team oder als Entwickler von der neuen Möglichkeit der partiellen Klassen zu profitieren.

Mathias Schiffer widmet sich als freier Softwareentwickler und Technologievermittler größeren Projekten ebenso wie arbeitserleichternden Alltagslösungen. Seit Jahren gibt er sein Wissen in unzähligen Publikationen und Beratungen auch an andere Entwickler und Entscheider weiter. Sie erreichen ihn per E-Mail an die Adresse Schiffer@mvps.org.