2
私は次のように定義されたクラスを持っている:新しいプロパティを追加した後にBinaryFormatterで例外がスローされないのはなぜですか?
[Serializable]
class C
{
String str { get; set; }
int num { get; set; }
}
私はにBinaryFormatterを使用してファイルにそれを連載しました。次に、クラスを以下のように変更しました。
[Serializable]
class C
{
String str { get; set; }
int num { get; set; }
int num2 { get; set; }
}
しかし、代わりに例外をスローするデシリアライゼーションの際にフォーマッタはゼロにNUM2を設定します。それを投げるように要求する方法はありますか?
参照するには、[バージョン寛容シリアル化](https://msdn.microsoft.com/en-us/library/ms229752(v = vs.110).aspx)があります。新しいクラスのメンバーを無視するのではなく、あなたの質問は面白いです。 btw。デシリアライゼーションは 'num2'を設定しません。初期値は0だけです。 – dlatikay