4

我想在我的 C# 应用程序设置中添加一些变量,有没有办法用代码做到这一点。我可以通过去项目,然后 myApp 属性等来做到这一点,但我想在应用程序运行时添加设置,所以我应该通过代码来完成。或者我怎样才能将设置类型设置为类似的 LinkedList<>,以便向其中添加一些项目。

4

3 回答 3

4

这是我用来操作现有 AppSetting 的一些代码:

Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.AppSettings.Settings["PrinterID"].Value = "Some Value";
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("appSettings");

要添加新的 AppSetting,您可以将第二行更改为:

config.AppSettings.Settings.Add("PrinterID", "Some Value");
于 2013-01-18T19:50:48.520 回答
1

您可以使用ConfigurationManager.AppSettings属性。LinkedList它使用NameValueCollection结构而不是 a 。

于 2013-01-18T19:47:38.953 回答
0

只是一个提示:这样你不能(直接)添加变量,但你可以保存一个变量:

1 - 在设置中声明一个变量并将其范围设置为用户而不是应用程序;更改它的值,然后调用 Properties.Settings.Default.Save(); 但是这不会保存在正在执行的程序集中,而是会进入该应用程序的正确 AppData 文件夹。

2 - 要添加新值,您可以定义一个可序列化的键值集合(如@keyboardP 建议的 NameValueCollection 即)设置并在运行时更改它的值。

3 - (完全不同的方法:)您可以为此目的使用另一个单独的功能链(例如 xml、txt、ini 文件或您的本地或嵌入式数据库),因为无论如何您必须处理设置的并发读取Properties.Settings.Default 没有提供开箱即用的功能(尽管如果您的应用程序中有任何并行部件,情况就是如此)。

于 2013-01-18T20:04:03.487 回答