给出一点背景。将数据保存到.net中的文件时的良好编码实践
我创建了一个应用程序,允许用户保存设置,然后在稍后的日期调用设置。为此,我创建了一些可序列化的对象。我已经得到这个使用BinaryFormatter工作没有太大麻烦。
我开始遇到问题的时候是我升级软件并添加新设置。现在我的可序列化的对象不匹配,所以我必须更新文件。我已经成功完成了几个版本。但要做到这一点,我尝试反序列化文件,如果它引发异常,我尝试下一个版本。 。然后是下一个。 。然后是下一个。 。 。直到我找到合适的人。然后,我必须为每个旧版本编写转换函数,以将其转换为最新版本。我也创建了一个“修订”文件,所以我可以检查他们的版本,然后升级它,但我仍然需要保留许多不同的“版本”,并为它们编写转换函数。 。 。这对我来说本质上是混乱的,如果我继续沿着这条路线走下去,那么容易在后面臃肿。
必须有更好的方法来做到这一点,我只是不知道如何。
感谢
在.net框架中内置了功能,从版本2开始,它完全符合您的需求,而无需编写自己的代码。请参阅下面的答案。 – Andy 2013-02-19 22:57:03