Share via


TypeOf-Operator (Visual Basic)

Aktualisiert: November 2007

Vergleicht eine Objektverweisvariable mit einem Datentyp.

result = TypeOf objectexpression Is typename

Bestandteile

  • result
    Zurückgegeben. Ein Boolean-Wert.

  • objectexpression
    Erforderlich. Ein Ausdruck, der als Verweistyp ausgewertet wird.

  • typename
    Erforderlich. Ein beliebiger Datentypname.

Hinweise

Der TypeOf-Operator bestimmt, ob der Laufzeittyp von objectexpression mit typename kompatibel ist. Die Kompatibilität hängt von der Typkategorie von typename ab. In der folgenden Tabelle wird dargestellt, wie die Kompatibilität bestimmt wird.

Typkategorie von typename

Kompatibilitätskriterium

Klasse   

objectexpression gehört zum Typ typename oder erbt von typename

Struktur

objectexpression gehört zum Typ typename

Schnittstelle

objectexpression implementiert typename oder erbt von einer Klasse, die typename implementiert.

Wenn der Laufzeittyp von objectexpression das Kompatibilitätskriterium erfüllt, hat result den Wert True. Andernfalls ist resultFalse.

TypeOf wird stets mit dem Is-Schlüsselwort verwendet, wenn ein TypeOf...Is-Ausdruck konstruiert werden soll.

Beispiel

Im folgenden Beispiel werden TypeOf...Is-Ausdrücke verwendet, um die Typkompatibilität von zwei Objektverweisvariablen mit verschiedenen Datentypen zu testen.

Dim refInteger As Object = 2
MsgBox("TypeOf Object[Integer] Is Integer? " & TypeOf refInteger Is Integer)
MsgBox("TypeOf Object[Integer] Is Double? " & TypeOf refInteger Is Double)
Dim refForm As Object = New System.Windows.Forms.Form
MsgBox("TypeOf Object[Form] Is Form? " & TypeOf refForm Is System.Windows.Forms.Form)
MsgBox("TypeOf Object[Form] Is Label? " & TypeOf refForm Is System.Windows.Forms.Label)
MsgBox("TypeOf Object[Form] Is Control? " & TypeOf refForm Is System.Windows.Forms.Control)
MsgBox("TypeOf Object[Form] Is IComponent? " & TypeOf refForm Is System.ComponentModel.IComponent)

Die Variable refInteger gehört zum Laufzeittyp Integer. Sie ist mit Integer kompatibel, jedoch nicht mit Double. Die Variable refForm gehört zum Laufzeittyp Form. Sie ist mit Form kompatibel, da es sich um ihren eigenen Datentyp handelt, mit Control, da Form von Control erbt, und mit IComponent, da Form von Component erbt, womit IComponent implementiert wird. refForm ist dagegen nicht kompatibel mit Label.

Siehe auch

Konzepte

Vergleichsoperatoren in Visual Basic

Operatoren und Ausdrücke in Visual Basic

Referenz

Is-Operator (Visual Basic)

IsNot-Operator

Operatorrangfolge in Visual Basic

Operatoren sortiert nach Funktionalität