Dans WPF, lorsque l'UserControl dérivé hérite de la classe auto-basée et des fonctions publiques partagées, le code caché par les dérivés userControls peut référencer le traitement de la classe de base. Cependant, l'accès à DataConText à partir de la classe de base peut provoquer InvalidcastException car il s'agit d'un type dérivé dans les dérivés userControls.
Jetons un coup d'œil à un exemple:
1 2 3 4 |
|
dans la classe de base userControl:
1 2 3 4 5 6 |
|
Cela provoquera InvalidCastException, car le type de DataConText dans UserControls peut être BaseViewModel
<<>
<<> Convertir Geneic & LT; Considérez l'exemple suivant: <>
Si cette conversion est autorisée, un mouton est ajouté aux animaux, et il est en fait autorisé à l'ajouter aux loups, ce qui ne correspond pas au type.<决> Solution
1 2 |
|
Afin de résoudre ce problème, la collaboration ou l'onduleur de l'interface peut être obligé de lire uniquement le type requis. Cependant, cette méthode ne peut être possible que lorsque la classe que vous avez référencée atteint l'interface nécessaire. Cela nécessite un ajustement de la structure du code. L'implémentation spécifique dépend de la définition et des besoins réels de .
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!