2012-08-29 23 views
0

的说明请分享您对的看法System.Runtime.Serialization关于System.Runtime.Serialization

我的问题和疑虑是:

  1. 类和所有它包含的对象必须在类的顶部[Serializable接口]关键字。
  2. 如果某个对象是静态类型的,该怎么办?
  3. 序列化如何处理静态对象。
  4. 版本控制如何影响序列化对象。 (例如我已经序列化一个对象和后面的这种情况下,在服务器上载新的构建确实有先前序列化的对象上的任何影响。)预先

感谢。

+1

第一点是不是一个问题。第三点要求我们理解“静态对象”的含义 - 你能澄清一下吗?有关版本容忍序列化的一些信息,请参阅http://msdn.microsoft.com/zh-cn/library/ms229752(v=vs.80).aspx。 –

回答

0

1)并非所有成员必须是可序列化,你可以与标记它们[NonSerialized()]

2,3)静态将无法正常工作,请参阅serialize-a-static-class

4)我与系列化的经验是,任何变化序列化的对象将打破反序列化。

更新:从Jon Skeet的评论(这是我学习新的东西)确实处理4)。但要注意网站的僵化。你必须非常小心地改变属性 Version Tolerant Serialization