Operátor TypeOf (Visual Basic)
Porovná objektové proměnné typu odkaz.
result = TypeOf objectexpression Is typename
Části
result
Vrácena.Hodnota Boolean.objectexpression
Povinné.Výraz, který je vyhodnocen jako typ odkazu.typename
Povinné.Všechna data, zadejte název.
Poznámky
TypeOf Operátor určuje, zda typu run-time objectexpression je kompatibilní s typename.Kompatibilita závisí na kategorii typu typename.Následující tabulka ukazuje, jak je určeno kompatibility.
Typ kategorietypename |
Kritérium kompatibility |
---|---|
Třída |
objectexpressiontyp je typename nebo dědí ztypename |
Struktura |
objectexpressionTyptypename |
Rozhraní |
objectexpressionimplementuje typename nebo dědí z třídy, která implementujetypename |
Pokud typu run-time objectexpression splňuje kritérium kompatibility result je True.Otherwise, result is False.
TypeOfvždy používá s Is klíčové slovo sestavení TypeOf...Is výraz.
Příklad
Následující příklad používá TypeOf...Is výrazy testování kompatibility typu dvou objektů reference proměnné s různými typy dat.
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)
Proměnná refInteger typu run-time Integer.Je kompatibilní s Integer , ale nikoli s Double.Proměnná refForm typu run-time Form.Je kompatibilní s Form protože jeho typ, který je s Control protože Form od Controla s IComponent protože Form dědí z Component, který implementuje IComponent.Však refForm není kompatibilní s Label.
Viz také
Referenční dokumentace
Priority operátorů v jazyce Visual Basic
Operátory uvedené podle funkcí (Visual Basic)