如何在运行时使用应用程序设置api将动态键值对对象存储在app.config中?
我一直试图解决这个问题,但我找不到任何有意义的示例或文档。
我认为.Net字典类不能用XML序列化以将它们存储在app.config
中使用自定义XML序列化类是唯一的方法,还是有其他方法吗?
答案 0 :(得分:2)
你应该能够做到这样的事情:
// 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);
答案 1 :(得分:2)
经过一些搜索网,我发现了一篇非常好的(虽然很长)文章,该文章在.Net配置模型中进行了描述:
Unraveling the Mysteries of .NET 2.0 Configuration
我还发现了一些非常有用的东西:
Configuration Section Designer
增加可视化工作室,用于可视化设计配置部分并生成核心XSD文件。我希望有人觉得这很有用。
答案 2 :(得分:1)
一直认为在运行时更改app.config被认为是不好的做法。 app.config应该用于程序设置和配置;不适用于应用程序实际修改的动态内容。
建议您为动态对象创建单独的“KeyValue.xml”文件。
答案 3 :(得分:0)
根据您的具体需要,您可以尝试System.Collections.ObjectModel.KeyedCollection< TKey,TValue>。这只有在您可以从项目本身派生项目的密钥时才有效,但在这种情况下,它可以用于此目的。
答案 4 :(得分:0)
是通用字典吗?如果是这样的话: