gpt4 book ai didi

c# - 如何阅读 configSections

转载 作者:太空狗 更新时间:2023-10-30 01:08:10 25 4
gpt4 key购买 nike

我在我的 App.Config 中设置了一些自定义配置部分,这样我现在就有了一个如下所示的 configSection。

<configSections>
<section name="Section1" type="ConfigSections.MySection, MyNamespace"/>
<section name="Section2" type="ConfigSections.MySection, MyNamespace"/>
<section name="Section3" type="ConfigSections.MySection, MyNamespace"/>
</configSections>

我想做的是阅读代码中的这一部分,以便在运行时找出我有哪些部分。我试过:

var mySections = ConfigurationManager.GetSection("configSections");

但这返回空值。我确信我遗漏了一些简单的东西,但我找不到任何关于如何做到这一点的信息。

谢谢

最佳答案

使用 Configuration.Sections -property 获取声明的配置部分的名称。然后,如果需要,可以选择使用 ConfigurationManager.GetSection()检索单个部分。

请注意,您可能希望使用 SectionInformation.IsDeclared 的值或 ConfigSource各自的 ConfigurationSection.SectionInformation 找出该部分实际上是在您的配置文件中声明的,或者是从 machine.config 继承的否则。

例子:

    var cfg = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
var localSections = cfg.Sections.Cast<ConfigurationSection>()
.Where(s => s.SectionInformation.IsDeclared);

最后,请注意,此方法只会为您提供配置部分。它不会返回配置部分,这些部分本身位于 <sectionGroup> 中。 .对于他们,您首先需要遍历 Configuration.SectionGroups , 它有自己的 Sections - 包含每个部分组部分的属性。它还可以包含嵌套的节组,同样可以通过 SectionGroups 访问每个属性 ConfigurationSectionGroup实例。

关于c# - 如何阅读 configSections,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10331844/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com