如何在运行时在应用程序设置中存储键值对?
-
05-07-2019 - |
题
如何在运行时使用应用程序设置api将动态键值对对象存储在app.config中?
我一直试图解决这个问题,但我找不到任何有意义的示例或文档。
我认为.Net字典类不能用XML序列化以将它们存储在app.config
中使用自定义XML序列化类是唯一的方法,还是有其他方法吗?
解决方案 2
经过一些搜索网,我发现了一篇非常好的(虽然很长)文章,该文章描述了.Net配置模型:
我还发现了一些非常有用的东西:
增加可视化工作室,用于可视化设计配置部分并生成核心XSD文件。我希望有人觉得这很有用。
其他提示
你应该能够做到这样的事情:
// Open App.Config of executable
System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
// Add an Application Setting with a name Key and a Value stored in variable called Value
config.AppSettings.Settings.Add("Key", Value );
// Save the changes in App.config file.
config.Save(ConfigurationSaveMode.Modified);
一直认为在运行时更改app.config被认为是不好的做法。 app.config应该用于程序设置和配置;不适用于应用程序实际修改的动态内容。
建议你创建单独的<!> quot; KeyValue.xml <!> quot;动态对象的文件。
根据您的具体需要,您可以尝试System.Collections.ObjectModel.KeyedCollection <!> lt; TKey,TValue <!> gt;。这只有在您可以从项目本身派生项目的密钥时才有效,但在这种情况下,它可以用于此目的。
是通用字典吗?如果是这样的话:
不隶属于 StackOverflow