我需要将一些对象图序列化到光盘
如果我对一个类进行更改,然后尝试反序列化旧版本,我可能会遇到什么困难?
某些序列化器是否比其他序列化器更好地处理这个问题?
处理这种情况的标准方法是什么?
例如,在新版本的代码中,我是否需要保留所有旧的类,以便在反序列化旧文件时我可以对旧的类执行此操作,然后将数据迁移到新的类?更改类的名称/命名空间会破坏反序列化吗?
感谢您的任何建议
嗯,据我记得,问题开始于:
- 向类添加新字段/属性;
- 更改现有字段/属性的类型。
你可以有自定义序列化 http://msdn.microsoft.com/en-us/library/ty01x675.aspx自行处理版本控制问题。
但我建议使用DataContractSerializer http://msdn.microsoft.com/en-us/library/system.runtime.serialization.datacontractserializer.aspx随着最佳实践:数据合同版本控制 http://msdn.microsoft.com/en-us/library/ms733832.aspx对于最常见的情况。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)