有没有办法以编程方式通过循环来获取节名,而不是自己对名称进行硬编码?
例如:
<configuration>
<configSections>
<section name="Test1" type="System.Configuration.NameValueSectionHandler"/>
<section name="Test2" type="System.Configuration.NameValueSectionHandler"/>
</configSections>
硬编码:
var section = ConfigurationManager.GetSection("Test1") as NameValueCollection;
var section = ConfigurationManager.GetSection("Test2") as NameValueCollection;
我不想在代码中对Test1和Test2部分名称进行硬编码。
答案 0 :(得分:1)
你可以得到这样的部门组名称:
static void Main(string[] args)
{
string configPath = @"..\..\App.config";
var map = new ExeConfigurationFileMap();
map.ExeConfigFilename = configPath;
var config = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None);
for (int i = 0; i < config.SectionGroups.Count; i++)
{
Console.WriteLine(config.SectionGroups[i].SectionGroupName);
}
}