为什么 BinaryFormatter 在添加新的 属性 后不抛出异常?
Why doesn't BinaryFormatter throw an exception after a new property is added?
我有一个class定义如下:
[Serializable]
class C
{
String str { get; set; }
int num { get; set; }
}
我已经用 BinaryFormatter 将它序列化到一个文件中。然后我改变了 class 如下所示。
[Serializable]
class C
{
String str { get; set; }
int num { get; set; }
int num2 { get; set; }
}
但是,在反序列化时,格式化程序不会抛出异常,而是将 num2 设置为零。有没有办法要求它抛出?
好的。我已经想出要改变我可以设置的行为
formatter.AssemblyFormat = FormatterAssemblyStyle.Full;
虽然这可能有点矫枉过正。
我有一个class定义如下:
[Serializable]
class C
{
String str { get; set; }
int num { get; set; }
}
我已经用 BinaryFormatter 将它序列化到一个文件中。然后我改变了 class 如下所示。
[Serializable]
class C
{
String str { get; set; }
int num { get; set; }
int num2 { get; set; }
}
但是,在反序列化时,格式化程序不会抛出异常,而是将 num2 设置为零。有没有办法要求它抛出?
好的。我已经想出要改变我可以设置的行为
formatter.AssemblyFormat = FormatterAssemblyStyle.Full;
虽然这可能有点矫枉过正。