使用BinaryFormatter进行序列化似乎不再需要OptionalFieldAttribute(如果有的话).
使用codeguru中的示例,在Visual Studio 2010中构建代码时不会抛出任何异常,即使在定位.NET框架的旧版本时也是如此.
stackoverflow的另一个问题表明它始终是可选的.这是真的?如果是这样,在.NET中序列化为二进制内容时,实际上是否有任何方法可以获得缺少字段的异常?
要获取异常,请将此语句添加到反序列化代码中:
formatter.AssemblyFormat = FormatterAssemblyStyle.Full;
Run Code Online (Sandbox Code Playgroud)