Freigeben über


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