gpt4 book ai didi

C# applicationSettings : how to update app. 配置?

转载 作者:太空狗 更新时间:2023-10-29 22:06:40 30 4
gpt4 key购买 nike

我正在使用 .NET 4.0,我想使用 app.config 文件来存储相同的参数设置。我执行以下操作。我使用项目属性中的 Settings 选项卡来创建我的参数。

这会将信息添加到 app.config 文件中,如下所示:

<MyApp.Properties.Settings>
<setting name="param1" serializeAs="String">
<value>True</value>
</setting>
<MyApp.Properties.Settings>

在我的 View 模型中(在我的代码中)我可以通过这种方式访问​​信息:

bool myBool = MyApp.Properties.Default.param1;

当我尝试更改配置文件中的值时,我尝试这样做:

Properties.Settings.Default.param1 = false;

但这会导致错误,即 param1 是只读的。

那么如何从我的代码更新我的配置文件呢?

最佳答案

这是我的功能,用于更新或添加“applicationSettings”部分的 app.config 条目。可能有更好的方法,但这对我有用。如果有人可以建议更好的方法,请分享,我们将一直寻找更好的方法。

    static string APPNODE = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name + ".Properties.Settings";
static DateTime now = DateTime.Now;
Utilities.UpdateConfig(APPNODE, "lastQueryTime", now.ToString());

static public void UpdateConfig(string section, string key, string value)
{
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

ClientSettingsSection applicationSettingsSection = (ClientSettingsSection)config.SectionGroups["applicationSettings"].Sections[section];
SettingElement element = applicationSettingsSection.Settings.Get(key);

if (null != element)
{
applicationSettingsSection.Settings.Remove(element);
element.Value.ValueXml.InnerXml = value;
applicationSettingsSection.Settings.Add(element);
}
else
{
element = new SettingElement(key, SettingsSerializeAs.String);
element.Value = new SettingValueElement();
System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
element.Value.ValueXml = doc.CreateElement("value");

element.Value.ValueXml.InnerXml = value;
applicationSettingsSection.Settings.Add(element);
}

config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("applicationSettings");
}

关于C# applicationSettings : how to update app. 配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13286916/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com