Partager via


Guide pratique pour déterminer le type auquel une variable objet fait référence (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 GetTypeCode méthode 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 qu’une variable d’objet fait actuellement référence à

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

    Dim myObject As Object
    myObject.GetType()
    
  2. Sur la System.Type classe, appelez la méthode GetTypeCode partagée pour récupérer la TypeCode valeur d’énumération 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 comparer la valeur d’énumération TypeCode à n’importe quel membre d’énumération qui vous intéresse, comme 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 TypeOfexpression ...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 l’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 des types intrinsèques tels que Integer et String.

Voir aussi