自定义配置部分键

时间:2012-12-27 13:39:34

标签: c# web-config app-config

我已经实现了像这样的自定义配置部分

 <directorySettings>
   <domainConfigurationList>
     <domainConfiguration id="1" name="name1" url="http://www.google.com"/>
     <domainConfiguration id="2" name="name2" url="http://www.bing.com"/>
   </domainConfigurationList>
 </directorySettings>

我只能将一个字段设为关键字:

    protected override object GetElementKey(ConfigurationElement element)
    {
        return ((DirectorySettingsConfigurationElement)element).Name;
    }

但我还需要有可能不仅使用键'name'而且还使用字段'id'进行搜索。这是我的DirectorySettingsConfigurationElementCollection

的一部分
    public DirectorySettingsConfigurationElement Get(string name)
    {
        return (DirectorySettingsConfigurationElement)BaseGet(name);
    }

    public DirectorySettingsConfigurationElement GetById(int id)
    {
        // ???
        return null;
    }

通过自定义字段(而非按键)获取DirectorySettingsConfigurationElement的最佳方法是什么

1 个答案:

答案 0 :(得分:0)

可能有更直接的答案;但我通常看到这样做的方式是使用ConfigurationElementCollectionhttp://msdn.microsoft.com/en-us/library/system.configuration.configurationelementcollection.aspx

您将获得domainConfigurations的集合,并且您可以遍历它或使用LINQ查询来获取匹配值。