eto*_*bot 5 c# xml-serialization
我的目标是能够在应用程序之间共享配置设置.例如,我希望能够使用WinForm应用程序来设置和保存设置,并让控制台应用程序能够读取这些设置并作为计划任务运行.我尝试的方法是创建一个由Winform应用程序和控制台应用程序引用的SharedSettings类.在这个类中,只有像这样的公共字符串属性.
public class SharedSettings
{
public string URL { get; set; }
public string DestUser { get; set; }
public string RelScript { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我使用以下序列来序列化SharedSettings类的实例
SharedSettings settings = new SharedSettings();
settings.RelScript = this.txtRelScript.Text;
settings.URL = this.txtURL.Text;
settings.DestUser = this.txtDestUser.Text;
XmlSerializer dehydrator = new XmlSerializer(settings.GetType());
System.IO.FileStream fs = new FileStream(this.configFilePath, FileMode.OpenOrCreate);
dehydrator.Serialize(fs, settings);
Run Code Online (Sandbox Code Playgroud)
并将其反序列化并填充表单中的字段
SharedSettings settings = new SharedSettings();
XmlSerializer dehydrator = new XmlSerializer(settings.GetType());
System.IO.FileStream fs = new FileStream(this.configFile, FileMode.Open);
settings = (SharedSettings)dehydrator.Deserialize(fs);
this.txtRelScript.Text = settings.RelScript;
this.txtURL.Text = settings.URL;
this.DestUser.Text = settings.DestUser;
Run Code Online (Sandbox Code Playgroud)
每隔一段时间,每五次一次,我就会运行在无效XML中创建的XML文件.这是一个例子
<?xml version="1.0"?>
<SharedSettings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ProjectName>test2</ProjectName>
<URL />
<DestUser>test3</DestUser>
<RelScript>D:\Events.dll</ReleaseScript>
</SharedSettings>ttings>
Run Code Online (Sandbox Code Playgroud)
注意最后一行.ttings>在序列化我的课程时我做错了什么?
| 归档时间: |
|
| 查看次数: |
2175 次 |
| 最近记录: |