如果有办法在"config"文件中存储层次结构?



目标是定义配置的初始层次结构。理想的设计是:

<Nodes>
  <Node Name = "a">
     <ChildNodeNames>
        b, c
     </ChildNodeNames>
  </Node>
  <Node Name = "b">
     <ChildNodeNames/>
  </Node>
  <Node Name = "c">
     <ChildNodeNames/>
  </Node>
</Node>

理论上,它应该与System.Configuration.NameValueFileSectionHandler类型非常相似

<Company.appSettings>
    <add key="1" value="a" />
    <add key="2" value="b" />
    <add key="3" value="c" />
  </Company.appSettings>

但是如何:

  1. 采用目标并放入配置文件
  2. 从配置中获取"Nodes"部分,并接收包含Node集合的对象

这是一个很好的解决方案,但它不能解决问题的第二个方面(如何从WPF中的app.config中获取值的List<string>集合?)

找到了一个链接,帮助我实现了所需的概念:http://msdn.microsoft.com/query/dev11.query?appId=Dev11IDEF1&l=EN-US&k=k(System.Configuration.ConfigurationCollectionAttribute);k(TargetFrameworkMoniker-.NETFramework,版本%3Dv4.5);k(DevLang-csharp)&rd=真实

不幸的是,有些代码的和平并不完整。例如,BaseGet 没有定义

可能的实施:

public UrlConfigElement  BaseGet(string key) 
{
    return this.OfType<UrlConfigElement>().First( e => e.Name == key);
}

最新更新