Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C app.config/web.config中的通用命名键/值组_C#_App Config - Fatal编程技术网

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

C# C app.config/web.config中的通用命名键/值组,c#,app-config,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="n

我需要在我的应用程序中添加从配置文件读取密钥/值信息的功能,这些信息存储在分层结构中:

<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>

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

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

NameValueCollection的摘要评论说

表示关联的System.String键和 可以使用键或键访问的字符串值 索引


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

Ok,但也许您知道如何引入具有键属性的自定义节,并且可以通过该属性的值进行检索?我想我被appSettings示例弄糊涂了。请更新问题,说明您希望app.config看起来如何,以及您希望如何使用该文件中的设置?我不确定我们现在是否意见一致。很抱歉。哦,我明白了,appSettings元素用于appSettings相关的子元素,没有额外的内容。因此,也许我必须构建自己的XML数据处理器,它可以按名称访问层次结构。或者,也许已经有一些很好的课程可用于此。