给出一点背景知识.
我创建了一个应用程序,允许用户保存设置,然后在以后调用设置.为此,我创建了一些可序列化的对象.我已经使用BinaryFormatter工作而没有太多麻烦.
我开始遇到问题的地方是我升级软件并添加新设置.现在我的可序列化对象不匹配,所以我必须更新文件.我已成功完成了几个版本.但要做到这一点,我尝试反序列化文件,如果它抛出异常,我尝试使用下一个版本..然后是下一个..然后是下一个...直到找到合适的人 然后我必须为每个旧版本编写转换函数,以将其转换为最新版本.我也创建了一个"修订版"文件,所以我可以检查一下他们有什么版本然后升级它,但是我仍然需要保留很多不同的"版本"并为所有这些版本编写转换函数...这似乎对我来说本质上是凌乱的,如果我继续走这条路线,后来就容易臃肿.
必须有一个更好的方法来做到这一点,我只是不确定如何.
谢谢