C#app.config / web.config中的通用命名键/值组

时间:2015-09-04 11:17:08

标签: c# app-config

我需要在我的应用程序中添加一个从配置文件中读取键/值信息的功能,它们以分层结构存储:

<appSettings>
<keygroup key="group1">
  <add key="host" value="host.address"/>
  <add key="login" value="login.name"/>
  <add key="password" value="pwd"/>
  <keygroup key="nested1">
    <add key="GroupsCanBe" value="Nested, too"/>
  </keygroup>
</keygroup>
<keygroup key="group2">
  <add key="host" value="host.address"/>
  <add key="login" value="login.name"/>
  <add key="password" value="pwd"/>
</keygroup>
</appSettings>

我知道我可以通过声明元素名称和链接类来创建自定义部分,但我希望有一些现有的类已经这样做了。

1 个答案:

答案 0 :(得分:0)

我检查了ConfigurationManager的源代码,AppSettings被声明为 NameValueCollection

NameValueCollection 的摘要评论说

  

&#34;表示关联的System.String键和的集合   可以使用key或with访问的System.String值   索引。&#34;

因此,通过使用AppSettings,您无法拥有层次结构。正如您已经知道的那样,配置文件的可扩展性点正在创建自定义configSection。 appSettings开箱即用只是一个简单的键值集合