Partager via


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

  1. Sur la variable objet, appelez la méthode GetType pour récupérer un objet System.Type.

    Dim myObject As Object
    myObject.GetType()
    
  2. 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 expression TypeOf...Is.

    If TypeOf objA Is System.Windows.Forms.Control Then
        MsgBox("objA is compatible with the Control class")
    End If
    

    L’expression TypeOf...Is retourne True 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.

Voir aussi