Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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
.
TypeOf
est toujours utilisé avec le Is
mot clé pour construire une TypeOf
expression ...Is
ou avec le IsNot
mot clé pour construire une TypeOf
expression ...IsNot
Exemple :
L’exemple suivant utilise TypeOf
des 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.