【问题标题】:clarification on System.Runtime.Serialization关于 System.Runtime.Serialization 的说明
【发布时间】:2012-08-29 14:43:05
【问题描述】:

请分享您对System.Runtime.Serialization的看法。

我的问题和疑问是:

  1. 类及其包含的所有对象都必须在类的顶部具有 [Serializable] 关键字。
  2. 如果某个对象是静态类型怎么办。
  3. 序列化如何处理静态对象。
  4. dll 版本控制如何影响序列化对象。 (例如,我已经序列化了一个对象,然后在服务器上上传了新版本,在这种情况下,对先前序列化的对象有任何影响。)

提前致谢。

【问题讨论】:

标签: c# serialization


【解决方案1】:

序列化是一个非常广泛的话题,您问的不是一个问题。
我建议开始阅读 msdn 库,它会给你一个好的开始-
http://msdn.microsoft.com/en-us/library/7ay27kt9(v=vs.100).aspx
http://msdn.microsoft.com/en-us/magazine/cc301761.aspx

【讨论】:

    【解决方案2】:

    1) 并非所有成员都需要可序列化,您可以使用[NonSerialized()] 标记它们

    2, 3) 静态不起作用,请参阅serialize-a-static-class

    4) 我对序列化的经验是,序列化对象的任何更改都会破坏反序列化。

    更新:Jon Skeet 的评论(那是我学习新东西)确实处理了 4)。但要注意网站的底部。您必须非常小心更改属性 Version Tolerant Serialization

    【讨论】:

      猜你喜欢
      • 2019-08-29
      • 2019-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-20
      相关资源
      最近更新 更多