저는 자동화 코드에 제네릭을 도입하려고 시도 했으므로 WpfControl을 Tp 유형으로 제한하고 WpfControl을 WpfControl 유형으로 캐스팅하려고합니다. 나는 그것이 null를 돌려 제네릭 형식에 형식 WpfControl이다 제어를 주조하고 때코드화 된 UI 다운 캐스팅이 작동하지 않음을 테스트합니다.
return control as T;
T는 항상 아직 WpfControl의 자식이 될 것입니다. 이것은 여전히 null
반환
var childControl = control as WpfTabList;
: 나는 또한 같은 예를 들어 뭔가를 정확한 하위 유형으로 제어를 캐스팅 노력했다. 누구나 비슷한 문제가 발생합니까? 당신이 일반적인 방법 geteric 타입 사양을 사용하십시오에서
첫째 :
모든 것이 설명대로라면 제대로 작동해야합니다. 나는 당신이 놓친 것을 의심합니다. 다음과 같이 제안 할 수 있습니다. a) 디버거를 단계별로 실행하고 런타임에 "제어"유형이 무엇인지 확인하고 b) 완전한 코드를 게시하십시오. –
또한 컨트롤이 null이 아닌지 확인하십시오! 그것은 전에 나를 잡았습니다. –
여기서 생성자를 호출하는 행을 추가 할 수 있습니다.) 만약 당신이 그 라인을 발견하게되면 스스로 해결할 것이다;) (그렇지 않다면 - 나는 여전히 여기에있다.) –