Partager via


Comment : déterminer le type désigné par une variable objet

Mise à jour : novembre 2007

Une variable objet contient un pointeur vers des données stockées ailleurs. Le type de ces données peut changer durant l'exécution. À tout moment, vous pouvez utiliser la méthode GetTypeCode pour déterminer le type d'exécution actuel ou le TypeOf, opérateur (Visual Basic) pour déterminer si le type d'exécution en cours 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 partagée GetTypeCode pour récupérer la valeur d'énumération TypeCode pour le 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 contre tout membre d'énumération digne d'intérêt, tel que Double.

Pour déterminer si le type d'une variable objet est compatible avec un type spécifié

  • Utilisez l'opérateur TypeOf avec l'Is, opérateur (Visual Basic) 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 de l'objet à l'exécution 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, hérite du type spécifié ou l'implémente. Pour plus d'informations, consultez TypeOf, opérateur (Visual Basic).

Compilation du code

Notez que le type spécifié ne peut pas être une variable ni une expression. Il doit s'agir du nom d'un type défini, tel qu'une classe, une structure ou une interface. Cela inclut des types intrinsèques, tels que Integer et String.

Voir aussi

Concepts

Variables objet dans Visual Basic

Valeurs des variables objets

Référence

Object, type de données

GetType

System.Type

GetTypeCode

TypeCode