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, ... TypeOf
Is
restituisce False
e ...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 TypeOf
utilizzate 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.