【发布时间】:2016-04-26 05:28:38
【问题描述】:
我正在尝试建立一种可靠的方法来更新我的软件,以确保我可以在发布程序更新时顺利更新用户的文件。该软件是用 C# 编写的。
假设我有一个人对象:
- Name
- DoB
- Nationality
这就是我的 person 类的 0.1 版。将来,为了举例,我会在 person 对象(v0.2)中引入一些新的字段。
- Name
- DoB
- Nationality
- Temperament <- NEW
- Job <- NEW
显然我需要将旧对象更新为新对象。我目前正在做的事情如下:
- 将 0.1 对象读入版本化类(如 Person01.cs)。
- 用旧对象的字段填充新对象。
- 使用默认值填充新对象的新字段。
- 写出文件。
这似乎非常低效。每次我进行任何更改时,它都需要大量的自定义编码。必须有更好的方法来做到这一点,但由于这是我第一次真正使用 XML,我不知道该怎么做。您能提供的任何帮助将不胜感激。我已经寻找了解决这个问题的方法,但我只找到了不相关的结果。
【问题讨论】:
-
谢谢,好电话。这有助于提高可读性。好久没发帖了。
-
如果您手动创建 xml,那会很麻烦。您使用的是 XmlSerializer:msdn.microsoft.com/en-us/library/bb675182.aspx 吗?
-
是的 System.Xml.Serialization
-
您是否尝试将旧 xml 反序列化为新对象 (v2),这应该允许您跳过步骤 1 和 2?
-
我最初尝试过,但没有成功。也许我只是做错了什么……那是你可以直接做的事情吗?