这是我的配置文件:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="MySection" type="MyApp.MySectionClass, MyApp"/>
</configSections>
<MySection name="SomeName" data_type="SomeDataType" file_name="file">
<CollectionName>
<add name="name1" param="-10" ping="3"/>
<add name="name1" param="-10" ping="5"/>
<add name="name2" param="-10" ping="3" param2="0.3" param3="0.2"/>
</CollectionName>
</MySection >
</configuration>
这是我尝试在我的配置文件中列出我的部分名称的代码:
ExeConfigurationFileMap map = new ExeConfigurationFileMap();
map.ExeConfigFilename = "path\\app.config";
Configuration config = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None);
ConfigurationSectionCollection section_collection = config.Sections;
foreach (string key in section_collection.Keys) Console.WriteLine(key);
这是我得到的结果:
system.data.sqlclient
connectionStrings
system.webServer
system.data.dataset
satelliteassemblies
mscorlib
startup
runtime
appSettings
system.data.odbc
system.data
configProtectedData
system.codedom
uri
system.runtime.remoting
assemblyBinding
windows
system.data.oracleclient
MySection
system.windows.forms
system.diagnostics
system.data.oledb
如您所见,有我的部分名称,还有很多其他名称空间。为什么会这样?我怎样才能从 app.config 中只获取我的自定义部分?谢谢。