如何从ConfigurationElementCollection中获取配置属性名称

时间:2016-01-28 15:19:55

标签: c#

我目前陷入了如何从ConfigurationElementCollection对象中获取所有配置属性的问题。在这篇文章中,我打印出了自定义配置文件的源代码以及config-class的源代码,它们处理对给定自定义配置文件的访问。

UserAccount::displayName

project.config文件的来源。我不得不删除xml打开括号,因为我无法使用左括号发布该代码。

    configuration>
        configSections>
            section name="Section1" type="MyProject.Section1, Section1" />
        /configSections>
        Section1>
        Section1FieldDefinitions>
            add id="1" project="Proj1" browsername="Order1"/>
            add id="2" project="Proj2" browsername="Order2"/>
            add id="3" project="Proj3" browsername="Order3"/>
        /Section1FieldDefinitions>
    /Section1>
    /configuration>

配置类的来源

我目前需要的是一个解决方案,我可以遍历所有Section1FieldDefinitions并从配置属性中获取字段名称和字段值。例如 - 我们有三个配置元素 - id,project和browsername。我需要这三个属性的名称和价值。

1 个答案:

答案 0 :(得分:0)

我认为你想使用反射来列出所有属性。 像这样:

var obj = new Section1FieldDefinitionsElement();
foreach(var prop in obj.GetType().GetProperties()) {
    Console.WriteLine("{0}={1} ({2})", prop.Name, prop.GetValue(obj, null), prop.Module.Name);
}

this answer可能会提供更多信息。