Gewusst wie: Bestimmen des Typs, auf den eine Objektvariable verweist (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 jederzeit die GetTypeCode-Methode verwenden, um den aktuellen Laufzeittyp zu ermitteln, oder den TypeOf-Operator (Visual Basic), um festzustellen, ob der aktuelle Laufzeittyp mit einem angegebenen Typ kompatibel ist.

So bestimmen Sie den Typ, auf den eine Objektvariable derzeit verweist

  1. Rufen Sie für die Objektvariable die GetType-Methode auf, um ein System.Type-Objekt abzurufen.

    Dim myObject As Object
    myObject.GetType()
    
  2. Rufen Sie für die System.Type-Klasse die freigegebene GetTypeCode-Methode auf, um den TypeCode-Enumerationswert für den Typ des Objekts 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 für alle relevanten Enumerationsmember testen, beispielsweise den Wert Double.

So stellen Sie fest, ob der Typ einer Objektvariablen mit einem angegebenen Typ kompatibel ist

  • Verwenden Sie den Operator TypeOf zusammen mit dem Is-Operator (Visual Basic), 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 TypeOf...Is-Ausdruck gibt True zurück, wenn der Laufzeittyp des Objekts mit dem angegebenen Typ kompatibel ist.

    Entscheidend für die Kompatibilität ist, ob es sich bei dem angegebenen Typ um eine Klasse, Struktur oder Schnittstelle handelt. Die Typen sind im Allgemeinen kompatibel, wenn das Objekt zum gleichen Typ gehört wie der angegebene Typ, wenn es von dem angegebenen Typ erbt oder den angegebenen Typ implementiert. Weitere Informationen finden Sie unter TypeOf-Operator (Visual Basic).

Kompilieren des Codes

Bei dem angegebenen Typ kann es sich nicht um eine Variable oder einen Ausdruck handeln. Es muss sich um den Namen eines definierten Typs handeln, z. B. um eine Klasse, Struktur oder Schnittstelle. Hierzu gehören systeminterne Typen wie Integer und String.

Siehe auch

Referenz

Object-Datentyp

GetType

System.Type

GetTypeCode

TypeCode

Konzepte

Objektvariablen in Visual Basic

Werte von Objektvariablen (Visual Basic)