2012-03-10 3 views
2

XML을 비 직렬화 한 후에 B 유형으로 변환하는 데 문제가 있습니다.XML 비 직렬화 (문제)

예 :

class Base 
class A: Base 
class B: A 

내가 A를 역 직렬화 할 수 있지만,

는 A를 역 직렬화하는 것이 가능하고 B 캐스팅 B.

으로 캐스팅 수없는 이유는 무엇입니까?

답변

2

기본 유형으로 변환하는 데 문제가 있다고하지만 B 유형은 기본 유형이 아닙니다. 하위 유형입니다. 그 캐스트가 실패하면 직렬화가 B를 리턴하는 A가 아닌 B를 리턴합니다. 즉, 입니다. 따라서 기본적으로 B를 직렬화 했어야합니다.