2
나는 다음과 같이 클래스가 정의되어 : 나는 경우 BinaryFormatter를 가진 파일로 직렬화 한새 속성을 추가 한 후 BinaryFormatter가 예외를 throw하지 않는 이유는 무엇입니까?
[Serializable]
class C
{
String str { get; set; }
int num { get; set; }
}
. 다음과 같이 클래스를 변경했습니다.
[Serializable]
class C
{
String str { get; set; }
int num { get; set; }
int num2 { get; set; }
}
그러나 예외를 발생시키는 대신 비 직렬화시 포맷터는 num2를 0으로 설정합니다. 그것을 던지기위한 방법이 있습니까?
[버전 허용 직렬화] (https://msdn.microsoft.com/en-us/library/ms229752(v=vs.110).aspx)를 참조하십시오. 귀하의 질문은 새로운 반원들을 무시하고 * 반대하지 말고 원하는대로 흥미 롭습니다. btw. deserialization은'num2'를 설정하지 않고 초기 값인 0 만 유지합니다. – dlatikay