Maison > développement back-end > C++ > Pourquoi ne puis-je pas lancer générique à générique dans WPF UserControls?

Pourquoi ne puis-je pas lancer générique à générique dans WPF UserControls?

Mary-Kate Olsen
Libérer: 2025-01-28 18:33:10
original
943 Les gens l'ont consulté

Why Can't I Cast Generic to Generic in WPF UserControls?

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,

ou

), 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

. Cela vous permet d'ajouter un mouton à

, 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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal