Partager via


Dépannage des exceptions : System.InvalidCastException

Une exception InvalidCastException est levée lorsqu'une défaillance se produit pendant une conversion de référence explicite. Des conversions de références sont des conversions d'un type référence à un autre. Si elles peuvent modifier le type de la référence, elles ne modifient jamais le type ou la valeur de la cible de la conversion L'exécution d'un cast des objets d'un type en un autre est souvent à l'origine de cette exception.

Conseils associés

  • Comparez les types sources aux types de destination pour vérifier la validité de la conversion.
    Pour plus d'informations sur les conversions prises en charge par le système, consultez Convert.

Notes

Pour réussir une conversion de référence explicite, la valeur source doit être Null (Nothing en Visual Basic) ou le type d'objet référencé par l'argument source doit être convertible au type de destination par une conversion de référence implicite.

Lorsqu'une application Visual Basic 6.0 avec un appel à un événement personnalisé dans un contrôle utilisateur est mise à niveau vers une version plus récente de Visual Basic et qu'elle s'exécute, cette exception peut se produire avec les informations supplémentaires : "Le cast spécifié n'est pas valide." Pour corriger cette erreur, recherchez la ligne de code suivante dans Form1 :

Call UserControl11_MyCustomEvent(UserControl11, New UserControl1.MyCustomEventEventArgs(5))

Puis, remplacez-la par :

Call UserControl11_MyCustomEvent(UserControl11(0), New UserControl1.MyCustomEventEventArgs(5))

Voir aussi

Tâches

Comment : utiliser l'Assistant Exception

Comment : convertir un objet en un autre type dans Visual Basic

Comment : implémenter des conversions définies par l'utilisateur entre des structs (Guide de programmation C#)

Référence

InvalidCastException

Concepts

Conversion de chaînes en types de données .NET Framework