【发布时间】:2011-03-14 06:00:20
【问题描述】:
我有一个设置类,我希望能够对其进行序列化和反序列化以将设置保存并加载到文件中。
事后看来,我会设计我的整个应用程序以在需要时创建设置实例。事实上,我的设置是持久的(模仿默认的应用程序设置行为)。鉴于我目前的架构,我可以执行以下操作:
public void Save()
{
Stream stream = File.Open("settings_test.xml", FileMode.Create);
XmlSerializer x = new XmlSerializer(this.GetType());
x.Serialize(stream, this);
}
显然,我不能这样做:
public void Load()
{
Stream stream = File.Open("settings_test.xml", FileMode.Open);
XmlSerializer x = new XmlSerializer(this.GetType());
this = x.Deserialize(stream);
}
但是有没有办法更新当前类的所有公共属性以匹配反序列化对象的公共属性?
(我想更一般的问题是:“有没有一种有效的方法可以根据另一个类的内容更新一个类?”)
【问题讨论】:
标签: c# xml serialization object