> 백엔드 개발 > C++ > WPF USERCONTROLS에서 GENERIC에 제네릭을 캐스팅 할 수없는 이유는 무엇입니까?

WPF USERCONTROLS에서 GENERIC에 제네릭을 캐스팅 할 수없는 이유는 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2025-01-28 18:33:10
원래의
896명이 탐색했습니다.

WPF USERCONTROL 유전자 전환 : 파생 된 제네릭에서 기본 클래스 제네릭으로의 전환 문제 Why Can't I Cast Generic to Generic in WPF UserControls?

WPF에서 여러 USERCONTROL이 동일한 기능을 공유하는 경우, 기본 클래스 USERCONTROL은 일반적으로 정의되며 발생하는 USERCONTROL의 코드 숨기기에서 발생합니다. 그러나 경우에 따라, 데이터 컨텍스트를 기본 클래스에서 유전자 유형으로 변환하려고 할 때 예외가 발생할 수 있습니다.

비정상적인 외관은 데이터 콘텍스트의 유형이 파생 된 유형 (예 : 또는 )이기 때문에 기본 유형 ()으로 변환하려고합니다. 이것은 를 로 변환 할 수 없기 때문입니다. 개념적 관점에서, 이것은

로 변환하는 것과 유사합니다. 이를 통해 양을

에 추가 할 수 있지만 InvalidCastException의 무결성을 파괴하여 불일치를 유발할 수 있습니다.

유일한 예외는 인터페이스 및 협업 및 인버터를 사용하는 것과 같은 개념을 사용하는 것이지만 클래스가 아닌 인터페이스에만 적용됩니다. 따라서 장면에서는

를 BaseViewModel로 변환 할 수 없습니다. BaseViewModel<connector> <..>

위 내용은 WPF USERCONTROLS에서 GENERIC에 제네릭을 캐스팅 할 수없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿