Share via


Operatore TypeOf (Visual Basic)

Confronta una variabile di riferimento a un oggetto con un tipo di dati.

result = TypeOf objectexpression Is typename

Parti

  • result
    Restituita.Valore di Boolean.

  • objectexpression
    Obbligatorio.Qualsiasi espressione che restituisce un tipo di riferimento.

  • typename
    Obbligatorio.Qualsiasi nome di un tipo di dati.

Note

L'operatore TypeOf determina se il tipo di objectexpression in fase di esecuzione è compatibile con typename.La compatibilità dipende dalla categoria del tipo di typename.Nella tabella riportata di seguito viene illustrato come si determina la compatibilità.

Categoria del tipo di typename

Criterio di compatibilità

Classe

objectexpression è del 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 objectexpression in fase di esecuzione soddisfa il criterio di compatibilità, result sarà True.In caso contrario, result sarà False.

TypeOf viene sempre utilizzato con la parola chiave Is per costruire un'espressione TypeOf...Is.

Esempio

Nell'esempio riportato di seguito le espressioni TypeOf...Is vengono utilizzate per verificare la compatibilità dei tipi di due variabili di riferimento a un oggetto con diversi 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 presenta un tipo di Integer in fase di esecuzione.Tale variabile è compatibile con Integer, ma non con Double.La variabile refForm presenta un tipo di Form in fase di esecuzione.Tale variabile è compatibile con Form perché si tratta del relativo tipo, con Control perché Form eredita da Control, nonché con IComponent perché Form eredita da Component che implementa IComponent.refForm non è invece compatibile con Label.

Vedere anche

Riferimenti

Operatore Is (Visual Basic)

Operatore IsNot (Visual Basic)

Precedenza tra gli operatori in Visual Basic

Elenco degli operatori per funzionalità (Visual Basic)

Concetti

Operatori di confronto in Visual Basic

Operatori ed espressioni in Visual Basic