在C#中,OptionalField已经过时了?

使用BinaryFormatter进行序列化似乎不再需要OptionalFieldAttribute (如果有的话)。

使用codeguru中的示例,在Visual Studio 2010中构建代码时,即使定位旧版本的.NET框架,也不会再抛出任何exception。

stackoverflow的另一个问题表明它始终是可选的。 这是真的? 如果是这样,当在.NET中序列化为二进制内容时,实际上是否有任何方法可以获得缺少字段的exception?

要获取exception,请将此语句添加到反序列化代码中:

formatter.AssemblyFormat = FormatterAssemblyStyle.Full;