L'expression de type '<NomType1>' ne peut pas être de type '<NomType2>'

Mise à jour : novembre 2007

Expression of type '<typename1>' can never be of type '<typename2>'

Une expression TypeOf...Is teste une variable de référence d'objet à un type de données qu'elle ne peut pas contenir.

Dans certains cas, le compilateur peut déterminer qu'un test TypeOf...Is ne peut qu'échouer, par exemple s'il n'y a aucune relation d'héritage entre deux classes.

Le code suivant peut générer cette erreur.

Dim refVar as System.Windows.Forms.Form

If TypeOf refVar Is System.Array

End If

Form et Array étant des types sans aucune relation entre eux, le compilateur peut déterminer que l'expression TypeOf...Is retourne False pour toutes les valeurs de refVar.

ID d'erreur : BC31430

Pour corriger cette erreur

  • Testez la variable pour un type de données réaliste ou supprimez complètement le test TypeOf...Is.

Voir aussi

Tâches

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

Référence

TypeOf, opérateur (Visual Basic)