Werte von Objektvariablen (Visual Basic)
Eine Variable des Objektdatentyps kann auf Daten eines beliebigen Typs verweisen. Der Wert, den Sie in einer Object
-Variablen speichern, wird an anderer Stelle im Arbeitsspeicher gespeichert, während die Variable selbst einen Zeiger auf die Daten enthält.
Objektklassifizierungsfunktionen
Visual Basic stellt Funktionen bereit, die wie in der folgenden Tabelle Informationen darüber zurückgeben, worauf eine Object
-Variable verweist:
Funktion | Gibt TRUE zurück, wenn die Objektvariable auf Folgendes verweist |
---|---|
IsArray | Ein Array von Werten anstelle eines einzelnen Werts |
IsDate | Ein Date-Datentyp oder eine Zeichenfolge, die als Datums- und Uhrzeitwert interpretiert werden kann |
IsDBNull | Ein Objekt vom Typ DBNull, das fehlende oder nicht vorhandene Daten darstellt |
IsError | Ein Ausnahmeobjekt, das von Exception abgeleitet wird |
IsNothing | Nothing, das bedeutet, dass derzeit kein Objekt der Variable zugewiesen wird. |
IsNumeric | Eine Zahl oder eine Zeichenfolge, die als Zahl interpretiert werden kann |
IsReference | Ein Verweistyp (z. B. Zeichenfolge, Array, Delegat oder Klassentyp) |
Sie können diese Funktionen verwenden, um zu vermeiden, dass ein ungültiger Wert an einen Vorgang oder eine Prozedur übermittelt wird.
Operator TypeOf
Sie können auch den TypeOf-Operator verwenden, um zu bestimmen, ob sich eine Objektvariable derzeit auf einen bestimmten Datentyp bezieht. Der Ausdruck TypeOf
...Is
ergibt True
, wenn der Runtimetyp des Operanden von dem angegebenen Typ abgeleitet oder implementiert wird.
Im folgenden Beispiel wird TypeOf
für Objektvariablen verwendet, 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 vorherigen Beispiel werden die folgenden Zeilen in das Debugfenster geschrieben:
num is Integer
num is Object
frm is Form
frm is Object
Die Objektvariable num
bezieht sich auf Daten vom Typ Integer
, und frm
bezieht sich auf ein Objekt der Klasse Form.
Objektarrays
Sie können ein Array von Object
-Variablen deklarieren und verwenden. Dies ist nützlich, wenn Sie sich um eine Vielzahl von Datentypen und Objektklassen kümmern müssen. Alle Elemente in einem Array müssen denselben deklarierten Datentyp aufweisen. Wenn Sie diesen Datentyp als Object
deklarieren, können Sie Objekte und Klasseninstanzen zusammen mit anderen Datentypen im Array speichern.
Siehe auch
- Objektvariablen
- Deklaration von Objektvariablen
- Zuweisung von Objektvariablen
- Vorgehensweise: Verweisen auf die aktuelle Instanz eines Objekts
- Vorgehensweise: Bestimmen des Typs, auf den eine Objektvariable verweist
- Vorgehensweise: Bestimmen des Bezugs zwischen zwei Objekten
- Vorgehensweise: Bestimmen der Gleichheit zweier Objekte
- Datentypen