Freigeben über


Objektvariablenwerte (Visual Basic)

Eine Variable des Objektdatentyps kann auf Daten eines beliebigen Typs verweisen. Der Wert, den Sie in einer Variablen speichern, wird an anderer Object Stelle im Arbeitsspeicher gespeichert, während die Variable selbst einen Zeiger auf die Daten enthält.

Objektklassifiziererfunktionen

Visual Basic stellt Funktionen bereit, die Informationen darüber zurückgeben, worauf eine Object Variable verweist, wie in der folgenden Tabelle dargestellt.

Funktion Gibt TRUE zurück, wenn die Objektvariable auf Folgendes verweist
IsArray Ein Array von Werten anstelle eines einzelnen Werts
IsDate Ein Datumsdatentypwert 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 sich aus Exception ableitet.
IsNothing Nichts, d. d. a. kein Objekt, wird derzeit der Variablen zugewiesen.
IsNumeric Eine Zahl oder eine Zeichenfolge, die als Zahl interpretiert werden kann
IsReference Ein Verweistyp (z. B. Zeichenfolge, Array, Delegate 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 Integerund 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 eine Vielzahl von Datentypen und Objektklassen behandeln müssen. Alle Elemente in einem Array müssen denselben deklarierten Datentyp aufweisen. Indem Sie den Datentyp als Object deklarieren, können Sie Objekte und Klasseninstanzen zusammen mit anderen Datentypen im Array speichern.

Siehe auch