Comment : déterminer le type désigné par une variable objet (Visual Basic)
Une variable objet contient un pointeur vers des données stockées ailleurs. Le type de ces données peut changer pendant l’exécution. À tout moment, vous pouvez utiliser la méthode GetTypeCode pour déterminer le type d’exécution actuel ou l’opérateur TypeOf pour déterminer si le type d’exécution actuel est compatible avec un type spécifié.
Pour déterminer le type exact auquel une variable objet fait actuellement référence
Sur la variable objet, appelez la méthode GetType pour récupérer un objet System.Type.
Dim myObject As Object myObject.GetType()
Sur la classe System.Type, appelez la méthode GetTypeCode partagée pour récupérer la valeur d’énumération TypeCode du type de l’objet.
Dim myObject As Object Dim datTyp As Integer = Type.GetTypeCode(myObject.GetType()) MsgBox("myObject currently has type code " & CStr(datTyp))
Vous pouvez tester la valeur d’énumération TypeCode par rapport aux membres d’énumération qui sont d’intérêt, tels que
Double
.
Pour déterminer si le type d’une variable objet est compatible avec un type spécifié
Utilisez l’opérateur
TypeOf
en combinaison avec l’opérateur Is pour tester l’objet avec une expressionTypeOf
...Is
.If TypeOf objA Is System.Windows.Forms.Control Then MsgBox("objA is compatible with the Control class") End If
L’expression
TypeOf
...Is
retourneTrue
si le type d’exécution de l’objet est compatible avec le type spécifié.Le critère de compatibilité varie selon que le type spécifié est une classe, une structure ou une interface. En général, les types sont compatibles si l’objet est du même type que, hérite ou implémente le type spécifié. Pour plus d’informations, consultez Opérateur typeof.
Compiler le code
Notez que le type spécifié ne peut pas être une variable ou une expression. Il doit s’agir du nom d’un type défini, tel qu’une classe, une structure ou une interface. Cela inclut les types intrinsèques tels que Integer
et String
.