Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Zkontroluje, jestli je typ modulu runtime výsledku výrazu kompatibilní se zadaným typem.
Syntaxe
result = TypeOf objectexpression Is typename
result = TypeOf objectexpression IsNot typename
Součástky
result
Vrácený. Hodnota Boolean .
objectexpression
Povinné. Libovolný výraz, který se vyhodnotí jako typ odkazu.
typename
Povinné. Libovolný název datového typu.
Poznámky
Operátor TypeOf určuje, zda je typ objectexpression běhu kompatibilní s typename. Kompatibilita závisí na kategorii typenametypu . Následující tabulka ukazuje, jak je určena kompatibilita.
Kategorie typu typename |
Kritérium kompatibility |
|---|---|
| Třída |
objectexpression je typu typename nebo dědí z typename |
| Struktura |
objectexpression je typu typename |
| Rozhraní |
objectexpression implementuje typename nebo dědí z třídy, která implementuje typename |
Pokud typ objectexpression běhu splňuje kritérium kompatibility, result je True. V opačném případě result je False. Pokud objectexpression je null, vrátí TypeOf...Is a False...IsNot vrátí True.
TypeOf je vždy používán s klíčovým slovem Is k vytvoření výrazu TypeOf...Is nebo s IsNot klíčovým slovem k vytvoření výrazu TypeOf...IsNot .
Příklad
Následující příklad používá TypeOfvýrazy ...Is k otestování kompatibility typů dvou referenčních proměnných objektů s různými datovými typy.
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 má typ Integerběhu . Je kompatibilní s Integer , ale ne s Double. Proměnná refForm má typ Formběhu . Je kompatibilní s Form tím, že je jeho typ, s Control protože Form dědí z Control, a s IComponent protože Form dědí z Component, který implementuje IComponent.
refForm Není však kompatibilní s Label.