TypeOf, opérateur (Visual Basic)

Compare une variable référence d'objet à un type de données.

result = TypeOf objectexpression Is typename

Éléments

  • result
    Retourné. Valeur Boolean.

  • objectexpression
    Obligatoire. Toute expression ayant pour résultat un type référence.

  • typename
    Obligatoire. Tout nom de type de données.

Notes

L'opérateur TypeOf détermine si le type d'exécution de objectexpression est compatible avec typename. La compatibilité dépend de la catégorie du type de typename. Le tableau suivant illustre la manière dont la compatibilité est déterminée.

Catégorie du type de typename

Critère de compatibilité

Classe

objectexpression est de type typename ou hérite de typename

Structure

objectexpression est de type typename

Interface

objectexpression implémente typename ou hérite d'une classe qui implémente typename

Si le type d'exécution de objectexpression satisfait le critère de compatibilité, result est True. Sinon, result est False.

TypeOf est toujours utilisé avec le mot clé Is pour construire une expression TypeOf...Is.

Exemple

L'exemple suivant utilise des expressions TypeOf...Is pour tester la compatibilité du type de deux variables référence d'objet avec divers types de données.

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)

Le refInteger variable a un type d'exécution de Integer. Il est compatible avec Integer, mais pas avec Double. Le refForm variable a un type d'exécution de Form. Il est compatible avec Form, car il s'agit de son type, avec Control parce que Form hérite de Control, et avec IComponent parce que Form hérite de Componentqui implémente IComponent. Toutefois, refForm n'est pas compatible avec Label.

Voir aussi

Référence

Is, opérateur (Visual Basic)

Opérateur IsNot (Visual Basic)

Priorité des opérateurs en Visual Basic

Opérateurs répertoriés par fonctionnalité (Visual Basic)

Concepts

Opérateurs de comparaison en Visual Basic

Opérateurs et expressions en Visual Basic