C# 配置文件设置-需要输入
我目前正在使用一个临时xml文件来保存配置设置,它正在工作,但它不在需要的地方 事情是这样的:C# 配置文件设置-需要输入,c#,xml,configuration,C#,Xml,Configuration,我目前正在使用一个临时xml文件来保存配置设置,它正在工作,但它不在需要的地方 事情是这样的: <XmlDoc> <DefaultSettings> <ExitProgramMessage>Y</ExitProgramMessage> <DefaultSettings> <Company> <ExitProgramMessage>N</ExitPr
<XmlDoc>
<DefaultSettings>
<ExitProgramMessage>Y</ExitProgramMessage>
<DefaultSettings>
<Company>
<ExitProgramMessage>N</ExitProgramMessage>
<Company>
<Workstation>
<ExitProgramMessage>N</ExitProgramMessage>
</Workstation>
<User>
<ExitProgramMessage>Y</ExitProgramMessage>
<User>
<XmlDoc>
Y
N
N
Y
代码的编写方式是先读取默认设置,然后读取公司(覆盖默认设置),然后读取工作站设置(覆盖默认设置或公司设置),然后读取工作站,然后读取用户。。。除空格外,最后一次读取获胜。他们不清理田地。在上面的示例中,ExitProgramMessage将以Y结尾
我遇到了几个问题
谢谢 我对您的场景的建议是查看设置。属性您可以查看其中的任何类型,并在运行时更新它们 使用Settings.Properties的一个很好的例子是,您可以在其中保存应用程序的状态 有关更多信息,请参阅链接
只需几个类即可轻松处理。例如: 要读取值,请执行以下操作:
Settings settings = new Settings(file);
var company = settings["Company"].ExitProgramMessage;
要写入值,请执行以下操作:
using(Settings settings = new Settings(file))
{
settings["Workstation"].ExitProgramMessage = "Y";
}
课程如下:
public class Settings : IDisposable
{
XElement self;
FileInfo file;
public Settings(FileInfo file)
{
if (file.Exists)
self = XElement.Load(file.FullName);
else
self = new XElement("XmlDoc");
this.file = file;
}
public Setting this[string name]
{
get
{
XElement x = self.Element(name);
if (null == x)
self.Add(x = new XElement(name));
return new Setting(x, name);
}
}
public void Dispose()
{
self.Save(file.FullName);
}
}
public class Setting
{
XElement self;
string name;
public Setting(XElement xsetting, string name)
{
self = xsetting;
this.name = name;
}
public string ExitProgramMessage
{
get
{
XElement x = self.Element("ExitProgramMessage");
if (null == x)
return "Unknown"; // default value?
return (string)x;
}
set
{
XElement x = self.Element("ExitProgramMessage");
if (null == x)
self.Add(new XElement("ExitProgramMessage", value));
else
x.Value = value;
}
}
public string Name { get { return name; } }
}