Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Verifica se il tipo di runtime del risultato di un'espressione è compatibile con il tipo specificato.
Sintassi
result = TypeOf objectexpression Is typename
result = TypeOf objectexpression IsNot typename
Parti
result
Ritornato. Valore Boolean.
objectexpression
Obbligatorio. Qualsiasi espressione che restituisce un tipo riferimento.
typename
Obbligatorio. Qualsiasi nome del tipo di dati.
Osservazioni:
L'operatore TypeOf determina se il tipo di runtime di objectexpression è compatibile con typename. La compatibilità dipende dalla categoria di tipi di typename. Nella tabella seguente viene illustrato come viene determinata la compatibilità.
Categoria di tipi di typename |
Criterio di compatibilità |
|---|---|
| Classe |
objectexpression è di tipo typename o eredita da typename |
| Struttura |
objectexpression è di tipo typename |
| Interfaccia |
objectexpression implementa typename o eredita da una classe che implementa typename |
Se il tipo di runtime di soddisfa il criterio di objectexpression compatibilità, result è True. In caso contrario, result sarà False. Se objectexpression è null, ... TypeOfIs restituisce Falsee ...IsNot restituisce True.
TypeOf viene sempre usato con la Is parola chiave per costruire un'espressione TypeOf...Is o con la IsNot parola chiave per costruire un'espressione TypeOf...IsNot .
Esempio
Nell'esempio seguente vengono TypeOfutilizzate espressioni ...Is per testare la compatibilità dei tipi di due variabili di riferimento a oggetti con vari tipi di dati.
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)
La variabile refInteger ha un tipo di runtime di Integer. È compatibile con Integer ma non con Double. La variabile refForm ha un tipo di runtime di Form. È compatibile con Form perché è il tipo , con Control perché Form eredita da Controle perché IComponentForm eredita da Component, che implementa IComponent. Tuttavia, refForm non è compatibile con Label.