C# 使用自定义配置类读取自定义配置文件?

C# 使用自定义配置类读取自定义配置文件?,c#,config,configurationmanager,C#,Config,Configurationmanager,有几种关于阅读的方法,但没有一种是使用自定义配置节来解决的。以下是my app.config中的一节: <configuration> <configSections> <section name="DatabaseConfigSection" type="Bootstrapper.DatabaseConfig, Bootstrapper" /> </configSections> <DatabaseC

有几种关于阅读的方法,但没有一种是使用自定义配置节来解决的。以下是my app.config中的一节:

<configuration>
    <configSections>
        <section name="DatabaseConfigSection" type="Bootstrapper.DatabaseConfig, Bootstrapper" />
    </configSections>
    <DatabaseConfigSection>
        <Configuration>
            <Databases>
                <Database name="Database_Dev" environment="Dev"/>
                <Database name="Database_RC" environment="RC"/>
                <Database name="Database_Cloud" environment=""/>
            </Databases>
        </Configuration>
    </DatabaseConfigSection>
</configuration>

我有一个自定义配置类,允许我对其进行如下编码:

DatabaseConfig.Instance.Configuration.Databases.Cast<Database>().Select(x => x.Name).ToArray();
ConfigurationManager.Use("otherConfigFile.config");
var new dbConfig = ConfigurationManager.GetSection(SectionSectionName) as DatabaseConfig;
dbConfig.Databases.Cast<Database>().Select(x => x.Name).ToArray();
DatabaseConfig.Instance.Configuration.Databases.Cast().Select(x=>x.Name.ToArray();
我希望有另一个可选的配置文件,其结构与上面的app.config文件相同,并且我希望对其使用自定义配置类。例如,类似这样的内容:

DatabaseConfig.Instance.Configuration.Databases.Cast<Database>().Select(x => x.Name).ToArray();
ConfigurationManager.Use("otherConfigFile.config");
var new dbConfig = ConfigurationManager.GetSection(SectionSectionName) as DatabaseConfig;
dbConfig.Databases.Cast<Database>().Select(x => x.Name).ToArray();
ConfigurationManager.Use(“otherConfigFile.config”);
var new dbConfig=ConfigurationManager.GetSection(SectionSectionName)作为数据库配置;
dbConfig.Databases.Cast().Select(x=>x.Name.ToArray();

并将“otherConfigFile.config”中的数据作为
DatabaseConfig
对象返回。但是,我找不到使
ConfigurationManager.GetSection()
指向其他文件的方法。谢谢

以下是我最后做的事情:

var map = new ExeConfigurationFileMap();
map.ExeConfigFilename = @"C:\Users\sirdank\project\bootstrapper\bin\Debug\test.config";
System.Configuration.Configuration config = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None);
DatabaseConfig dbConfig = config.GetSection("DatabaseConfigSection") as DatabaseConfig;

的帮助下,使用配置转换比将所有环境放在一个配置中要好得多。