没错,此类设置不应存储在 app.config 文件中。它只是在那里增加了混乱。在这种情况下,最好创建另一个配置文件,正如您在票证中已经提到的那样。
您计划将此配置文件构建为 XML 文档。这是一个好主意。这也意味着您的配置数据是结构化的。那也很棒。
我建议你选择 JSON。这将允许您在运行时将配置设置加载到您的应用程序中,只需很少的代码行。试试NewtonSoft.JSON(又名 JSON.Net)。
您可以按照以下步骤快速添加和使用配置设置:
- 使用 Nuget 包管理器安装 NewtonSoft.JSON
- 将此库的引用添加到您的项目和 .cs 文件(使用 NewtonSoft.Json)
- 为您的配置设置创建一个 C# 类。对于重复块,您
List<string>
甚至可以使用或任何其他相关数据类型int
- 因此您也不必进行任何类型转换。
- 将 JSON 文件读入字符串对象
- 用作
JsonConvert.DeserializeObject()
:
MyConfigSettings settings = JsonConvert.DeserializeObject<MyConfigSettings>(jsonString);
这MyConfigSettings
是配置设置类。必须将相应的成员声明为定义public
了适当get; set;
属性的属性。
这会将所有配置设置加载到settings
对象。最好的部分是任何缺少的配置值,将被自动跳过,所以你不必有任何复杂的解析算法。
要将配置值写入 JSON 文件,您可以在settings
对象中填充值并使用以下方法序列化它们:
// Indented so that it looks readable when the config file is opened in editor like Notepad
string data = JsonConvert.SerializeObject<MyConfigSettings>(settings, Formatting.Indented);
// Now just store string object data to the config file
注意:这需要 .Net 4.0+
本示例中给出了快速入门。