Freigeben über


Vorgehensweise: Bestimmen des Typs einer Objektvariablen (Visual Basic)

Eine Objektvariable enthält einen Zeiger auf Daten, die an anderer Stelle gespeichert sind. Der Typ dieser Daten kann sich während der Laufzeit ändern. Sie können die GetTypeCode Methode jederzeit verwenden, um den aktuellen Laufzeittyp zu ermitteln, oder den TypeOf-Operator , um herauszufinden, ob der aktuelle Laufzeittyp mit einem angegebenen Typ kompatibel ist.

So bestimmen Sie den genauen Typ, auf den sich derzeit eine Objektvariable bezieht

  1. Rufen Sie in der Objektvariable die GetType Methode auf, um ein System.Type Objekt abzurufen.

    Dim myObject As Object
    myObject.GetType()
    
  2. Rufen Sie in der System.Type Klasse die freigegebene Methode GetTypeCode auf, um den TypeCode Enumerationswert für den Objekttyp abzurufen.

    Dim myObject As Object
    Dim datTyp As Integer = Type.GetTypeCode(myObject.GetType())
    MsgBox("myObject currently has type code " & CStr(datTyp))
    

    Sie können den TypeCode Enumerationswert anhand der interessanten Enumerationsmber testen, z Double. B. .

So bestimmen Sie, ob der Typ einer Objektvariable mit einem angegebenen Typ kompatibel ist

  • Verwenden Sie den TypeOf Operator in Kombination mit dem Is-Operator , um das Objekt mit einem TypeOf...Is -Ausdruck zu testen.

    If TypeOf objA Is System.Windows.Forms.Control Then
        MsgBox("objA is compatible with the Control class")
    End If
    

    Der TypeOfAusdruck ...Is gibt zurück True , wenn der Laufzeittyp des Objekts mit dem angegebenen Typ kompatibel ist.

    Das Kompatibilitätskriterium hängt davon ab, ob der angegebene Typ eine Klasse, Struktur oder Schnittstelle ist. Im Allgemeinen sind die Typen kompatibel, wenn das Objekt denselben Typ aufweist wie, erbt von oder implementiert den angegebenen Typ. Weitere Informationen finden Sie unter TypeOf Operator.

Kompilieren des Codes

Beachten Sie, dass der angegebene Typ keine Variable oder ein Ausdruck sein kann. Es muss der Name eines definierten Typs sein, z. B. eine Klasse, Struktur oder Schnittstelle. Dazu gehören systeminterne Typen wie Integer z. B. und String.

Siehe auch