3.12 Alle Klassenelemente
Um nicht die Übersicht zu verlieren, folgt nun eine Beispielklasse, die alle in Visual Basic erlaubten Typen an Klassenmitgliedern enthält. Alle frei wählbaren Bezeichner sind kursiv gesetzt (bei Operatoren nicht ganz beliebig), Typ (sowie T1 und T2) und Ret stehen für einen beliebigen Datentyp. Das Zeichen <...> ist ein Platzhalter für einen Zeilenvorschub, optionale Anweisungen und ein korrespondierendes End-Konstrukt. Ein Modifikator ist nur dort angegeben, wo er vorgeschrieben ist. Bis auf den Parameter der Set-Routine sind die Anzahl und Typen der Parameter frei. Optionale Teile sind in eckige Klammern gesetzt. Bis auf die Initialisierung von Werten spielt die Reihenfolge der Klassenmitglieder keine Rolle.
Hinweis |
Bei Enumerationen fällt bei Klassenkonstanten der Modifikator Const weg (siehe Abschnitt 4.3, »Enumerationen«). |
Class Klasse 'Konstruktoren [Shared] Sub New() <...> 'Standard, wenn kein benutzerdefinierter Sub New([value As Typ, ...]) <...> 'Felder Const Konstante As Typ = Wert 'Compilerkonstante [ReadOnly] [WithEvents] Variable As Typ [= Wert] 'Methoden Sub Methode([wert As Typ, ...]) <...> Function Funktion([wert As Typ, ...]) As Ret <...> Public Shared Operator op(ByVal w1 As T1[, ByVal w2 As T2]) As Ret <...> Declare Sub Extern Lib "datei" ([wert As Typ, ...]) <...> Declare Function Extern Lib "datei" ([wert As Typ, ...]) AsRet <...> 'Eigenschaften Property Eigenschaft([wert As Typ, ...]) As Ret Get <...> Set(wert As Ret) <...> End Property ReadOnly Property Eigenschaft([wert As Typ, ...]) As Ret Get <...> End Property WriteOnly Property Eigenschaft([wert As Typ, ...]) As Ret Set(wert As Ret) <...> End Property 'Indexer, ReadOnly/WriteOnly analog zu Eigenschaften Default Property Eigenschaft(wert As Typ[, ...]) As Ret Get <...> Set(wert As Ret) <...> End Property 'Funktionszeiger Delegate Sub Delegate([wert As Typ, ...]) Delegate Function Delegate([wert As Typ, ...]) As Ret 'Ereignisse Event Ereignis([wert As Typ, ...]) Event Ereignis As Delegate Custom Event Ereignis As Delegate AddHandler(ByVal wert As Delegate) <...> RemoveHandler(ByVal wert As Delegate) <...> RaiseEvent([wert As Typ, ...]) <...> End Event 'innere Klassen/Typen Class InnereKlasse <...> End Class
Innerhalb einer Klasse wird mit Me typrichtig auf das aktuelle Objekt zugegriffen, während MyClass den Typ der Klasse und MyBase den Typ der Basisklasse verwenden und nicht das Objekt als Bezug nehmen (Unterdrückung der Polymorphie, siehe Abschnitt 3.14, »Polymorphie«).
3.12.1 Der Namensraum My
Visual Basic stellt in dem Namensraum My einige Datentypen zur Verfügung, die man zur Laufzeit verwenden kann, um das Umfeld einer gerade laufenden Anwendung zur ermitteln. Betrachten Sie die folgende unvollständige Liste als Einladung zum Spiel. Wie viel Sie von der Funktionalität Gebrauch machen, hängt von Ihrem persönlichen Programmierstil ab. Die mit einem Punkt beginnenden Namen sind klassengebunden und werden ohne Punkt verwendet.
MyApplication [ApplicationBase Methoden] GetEnvironmentVariable, ChangeCulture, ChangeUICulture [ConsoleApplicationBase Eigenschaften] CommandLineArgs, Deployment, IsNetworkDeployed [ApplicationBase Eigenschaften] Log, Info, Culture, UICulture MyComputer [Computer Eigenschaften] Audio, Clipboard, Ports, Mouse, Keyboard, Screen [ServerComputer Eigenschaften] Clock, FileSystem, Info, Network, Name, Registry MyProject MyWebServices MyProject+ThreadSafeObjectProvider(Of T) InternalXmlHelper [Methoden] .CreateAttribute, .CreateNamespaceAttribute, .RemoveNamespaceAttributes, .GetNamespace [Eigenschaften] .Value, .AttributeValue, .AttributeValue RemoveNamespaceAttributesClosure Resources MySettings [ApplicationSettingsBase Methoden] <add|remove handler>, GetPreviousVersion, Reload, Reset, Save, Upgrade [SettingsBase Methoden] Initialize, .Synchronized [Eigenschaften] .Default [ApplicationSettingsBase Eigenschaften] Context, Properties, PropertysValues, Providers, SettingsKey, Item [SettingsBase Eigenschaften] Item, Properties, Providers, PropertyValues, Context, IsSynchronized MySettingsProperty
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.