Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Vérifie si le type d’exécution du résultat d’une expression est compatible avec le type spécifié.
Syntaxe
result = TypeOf objectexpression Is typename
result = TypeOf objectexpression IsNot typename
Pièces
result
Retourné. Valeur Boolean.
objectexpression
Obligatoire. Toute expression qui prend la valeur d’un type de référence.
typename
Obligatoire. N’importe quel nom de type de données.
Remarques
L’opérateur TypeOf détermine si le type d’exécution de objectexpression l’exécution est compatible avec typename. La compatibilité dépend de la catégorie de type de typename. Le tableau suivant montre comment la compatibilité est déterminée.
Catégorie de type de typename |
Critère de compatibilité |
|---|---|
| classe |
objectexpression est de type typename ou hérite de typename |
| Structure |
objectexpression de type typename |
| Interface |
objectexpression
typename implémente ou hérite d’une classe qui implémentetypename |
Si le type d’exécution satisfait au critère de objectexpression compatibilité, result est True. Sinon, result est False. Si objectexpression la valeur est null, alors TypeOf...Is retourne False, et ...IsNot renvoie True.
TypeOfest toujours utilisé avec le Is mot clé pour construire une TypeOfexpression ...Is ou avec le IsNot mot clé pour construire une TypeOfexpression ...IsNot
Exemple :
L’exemple suivant utilise TypeOfdes expressions ...Is pour tester la compatibilité de type de deux variables de référence d’objet avec différents 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)
La variable refInteger a un type d’exécution de Integer. Il est compatible avec Integer , mais pas avec Double. La variable refForm a un type d’exécution de Form. Il est compatible avec Form parce que c’est son type, avec Control parce que Form hérite , Controlet avec IComponent parce que Form hérite de Component, qui implémente IComponent. Toutefois, refForm n’est pas compatible avec Label.