Conversion génétique WPF UserControl: le problème de conversion des génériques dérivés en génériques de classe de base
Dans WPF, lorsque plusieurs UserControl partagent les mêmes caractéristiques, une classe de base UserControl est généralement définie et les incidents sont traités dans la cachette de code de l'utilisateur dérivé. Cependant, dans certains cas, lorsque vous essayez de convertir DataConText en type de type génétique dans la classe de base UserControl,
Exception peut être rencontrée.
InvalidCastException
L'apparence anormale est due au type de DataConText est dérivé (par exemple,
), et vous essayez de le convertir en type de base (BaseViewModel<wire>
). En effet, ne peut pas être converti en BaseViewModel<connector>
. BaseViewModel
Generic<派生类型>
En point de vue conceptuel, cela est similaire à la transformation Generic<基类型>
en
, mais cela détruira l'intégrité de List<wolf>
, ce qui peut provoquer une incohérence. List<animal>
List<animal>
La seule exception est d'utiliser les concepts tels que les interfaces et l'utilisation de collaboration et d'onduleur, mais cela ne s'applique qu'à l'interface, pas pour les classes. Par conséquent, dans votre scène, vous ne pouvez pas convertir List<wolf>
en
Generic<派生类型>
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!