Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Überprüft, ob der Laufzeittyp des Ergebnisses eines Ausdrucks mit dem angegebenen Typ typkompatibel ist.
Syntax
result = TypeOf objectexpression Is typename
result = TypeOf objectexpression IsNot typename
Bestandteile
result
Zurückgekehrt. Ein Boolean-Wert.
objectexpression
Erforderlich. Jeder Ausdruck, der zu einem Verweistyp ausgewertet wird.
typename
Erforderlich. Ein beliebiger Datentypname.
Bemerkungen
Der TypeOf Operator bestimmt, ob der Laufzeittyp objectexpression mit typename. Die Kompatibilität hängt von der Typkategorie von typename. Die folgende Tabelle zeigt, wie die Kompatibilität bestimmt wird.
Typkategorie von typename |
Kompatibilitätskriterium |
|---|---|
| Klasse |
objectexpression ist vom Typ typename oder erbt von typename |
| Struktur |
objectexpression ist vom Typ typename |
| Schnittstelle |
objectexpression
typename implementiert oder erbt von einer Klasse, die implementierttypename |
Wenn der Laufzeittyp das objectexpression Kompatibilitätskriterium erfüllt, result lautet True. Andernfalls ist resultFalse. Wenn objectexpression null ist, TypeOfwird ...Is zurückgegeben False, und ...IsNot wird zurückgegeben True.
TypeOf wird immer mit dem Is Schlüsselwort verwendet, um einen TypeOf...Is -Ausdruck zu erstellen, oder mit dem IsNot Schlüsselwort, um einen TypeOf...IsNot -Ausdruck zu erstellen.
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 verfügt über einen Laufzeittyp von Integer. Es ist kompatibel mit Integer , aber nicht mit Double. Die Variable refForm verfügt über einen Laufzeittyp von Form. Es ist kompatibel mitForm, da dies der Typ ist, mit Control dem, weil Form er von Control, und mit IComponent dem, weil Form erbt IComponentvon Component, von dem implementiert wird.
refForm Ist jedoch nicht kompatibel mit Label.