Werte von Objektvariablen (Visual Basic)
Eine Variable vom Typ Object-Datentyp kann auf Daten beliebigen Typs verweisen.Der in einer Object-Variablen gespeicherte Wert befindet sich an einer anderen Speicherposition als die Variable, die lediglich einen Zeiger auf diesen Wert enthält.
Funktionen zur Objektklassifizierung
Visual Basic enthält Funktionen, die Informationen über das Objekt zurückgeben, auf das eine Object-Variable verweist (siehe folgende Tabelle).
Funktion |
Gibt "True" zurück, wenn die Objektvariable auf Folgendes verweist |
---|---|
Ein Array von Werten, nicht einen einzelnen Wert |
|
Ein Date-Datentyp (Visual Basic)-Wert oder eine Zeichenfolge, die als Datums- und Zeitwert interpretiert werden kann |
|
Ein Objekt des Typs DBNull, der fehlende oder nicht vorhandene Daten darstellt |
|
Ein Ausnahmeobjekt, das von Exception abgeleitet ist |
|
Nothing (Visual Basic) bedeutet, dass der Variablen gegenwärtig kein Objekt zugewiesen ist. |
|
Eine Zahl oder eine Zeichenfolge, die als Zahl interpretiert werden kann |
|
Ein Verweistyp (z. B. eine Zeichenfolge, ein Array, Delegat oder Klassentyp) |
Mit diesen Funktionen wird vermieden, dass ungültige Werte an Operationen oder Prozeduren gesendet werden.
Operator TypeOf
Mit dem TypeOf-Operator (Visual Basic) kann festgestellt werden, ob eine Objektvariable gegenwärtig auf einen bestimmten Datentyp verweist.Die Auswertung des TypeOf...Is-Ausdrucks ergibt True, wenn der Laufzeittyp des Operanden vom angegebenen Typ abgeleitet ist oder diesen implementiert.
Im folgenden Beispiel wird TypeOf auf Objektvariablen angewendet, die auf Wert- und Verweistypen verweisen:
' The following statement puts a value type (Integer) in an Object variable.
Dim num As Object = 10
' The following statement puts a reference type (Form) in an Object variable.
Dim frm As Object = New Form()
If TypeOf num Is Long Then Debug.WriteLine("num is Long")
If TypeOf num Is Integer Then Debug.WriteLine("num is Integer")
If TypeOf num Is Short Then Debug.WriteLine("num is Short")
If TypeOf num Is Object Then Debug.WriteLine("num is Object")
If TypeOf frm Is Form Then Debug.WriteLine("frm is Form")
If TypeOf frm Is Label Then Debug.WriteLine("frm is Label")
If TypeOf frm Is Object Then Debug.WriteLine("frm is Object")
Im vorhergehenden Beispiel werden die folgenden Zeilen im Fenster Debuggen ausgegeben:
num is Integer
num is Object
frm is Form
frm is Object
Die Objektvariable num verweist auf Daten des Typs Integer. frm verweist auf ein Objekt der Klasse Form.
Objektarrays
Sie können ein Array von Object-Variablen deklarieren und einsetzen.Dies ist dann sinnvoll, wenn unterschiedliche Datentypen und Objektklassen verarbeitet werden müssen.Alle Elemente in einem Array müssen mit dem gleichen Datentyp deklariert sein.Wenn dieser Datentyp als Object deklariert wird, können Objekte und Klasseninstanzen neben weiteren Datentypen im Array gespeichert werden.
Siehe auch
Aufgaben
Gewusst wie: Verweisen auf die aktuelle Instanz eines Objekts (Visual Basic)
Gewusst wie: Bestimmen des Typs, auf den eine Objektvariable verweist (Visual Basic)
Gewusst wie: Bestimmen des Bezugs zwischen zwei Objekten (Visual Basic)
Gewusst wie: Bestimmen der Gleichheit zweier Objekte (Visual Basic)
Konzepte
Objektvariablen in Visual Basic
Deklaration von Objektvariablen (Visual Basic)