Lies in den Artikel rein und unten bekommst Du ein unschlagbares Angebot!
Wer bisher mit VBA oder C# gearbeitet hat und zu VB wechseln möchte, sieht sich bei der Entwicklung von WPF-Anwendungen einigen Änderungen gegenüber. Dieser Artikel liefert die Grundlagen zum Umgang mit Namespaces und zur Programmierung von Klassen. Zum Experimentieren mit den Beispielen nutzen wir das Tool LINQPad 5.
Klassen
Im Gegensatz zu C# werden Klassen unter Visual Basic nicht durch eine geschweifte Klammer eingeleitet und beendet, sondern wir arbeiten mit dem für Visual Basis typischen Start- und Endzeilen:
Class Beispiel --- End Class
Class-Elemente können dabei mit folgenden Modifizierern ausgestattet werden:
- Public: Die Klasse ist innerhalb der Assembly und auch von anderen Assemblies aus sichtbar.
- Friend: Die Klasse ist nur innerhalb der Assembly sichtbar, zu der sie gehört. Dies ist der Standard-Modifizierer, wenn Sie dem Schlüsselwort Class weder Public noch Friend oder einen anderen Modifizierer voranstellen!
Klasse erstellen
Eine Klasse wird typischerweise in einer eigenen Code-Datei angelegt. Wenn Sie ein neues WPF-Fenster anlegen, fügt Visual Studio beispielsweise eine eigene Datei mit der Dateiendung .xaml.vb hinzu, welche als Code behind-Modul für das WPF-Fenster dient. Wenn Sie eine neue Klasse benötigen, die nicht als Code behind-Modul für ein WPF-Element dient, erledigen Sie dies normalerweise über den Dialog Neues Element hinzufügen…, den Sie am einfachsten durch Markieren des Projekts im Projektmappen-Explorer und anschließendes Betätigen der Tastenkombination Strg + Umschalt + A aufrufen.
Hier wählen Sie dann den Eintrag Klasse aus und geben den gewünschten Namen an, in diesem Fall Beispiel (siehe Bild 1).
Bild 1: Einfügen einer neuen Klassendatei
Die neue Klasse wird dann mit dem Public-Schlüsselwort ausgezeichnet. Wenn Sie nicht wollen, dass die Klasse in anderen Assemblies genutzt werden kann, ändern Sie Public also in Friend:
Public Class Beispiel End Class
Objekte auf Basis von Klassen initialisieren
Es gibt verschiedene Arten, eine Klasse zu initialisieren. Wenn Sie den Zeitpunkt der Deklaration und der Initialisierung trennen möchten, nutzen Sie zwei Anweisungen:
Dim Beispielklasse As Beispiel Beispielklasse = New Beispiel
Anderenfalls haben Sie die Wahl zwischen den folgenden beiden Schreibweisen. Die erste kennen Sie von VBA:
Dim Beispielklasse As New Beispiel
Die zweite ist eine Kombination aus dem Zweizeiler:
Dim Beispielklasse As Beispiel = New Beispiel
Weitere Klassen anlegen
Wenn Sie weitere Klassen anlegen wollen, haben Sie die Wahl: Sie können jeweils eine neue Datei mit jeder Klasse erstellen, was wie oben beschrieben funktioniert. Theoretisch können Sie aber auch mehrere Klassen in einer Datei speichern. Sie können neue Klassen auch innerhalb bestehender Klassen anlegen. Das sieht dann etwa wie folgt aus:
Public Class Beispiel Public Class UntergeordneteKlasse End Class End Class
Mit Klassen experimentieren
Die schönste Benutzeroberfläche auch zum Experimentieren mit Klassen ist das Tool LINQPad. Damit können Sie, was für die Beispiele dieses Artikels sinnvoll ist, unter Language den Eintrag VB Program auswählen. Es wird dann automatisch eine Sub Main eingerichtet, unterhalb derer Sie die Klassen dieses Artikels definieren können. In Sub Main greifen Sie dann ganz einfach auf die Klassen zu (siehe Bild 2). Wenn Sie auf die Start-Schaltfläche klicken, wird Sub Main ausgeführt. Wir fügen der untergeordneten Klasse einfach eine öffentliche Eigenschaft hinzu:
Bild 2: Experimentieren mit Klassen in LINQPad