加载自定义配置部分的问题

本文关键字:问题 配置部 自定义 加载 | 更新日期: 2023-09-27 18:05:14

我在从自定义配置部分加载时遇到了一个问题。

有问题的部分是什么?我在选择元素的XSD模式下定义了两个元素(First和Second)。用户在配置时只能选择一种。让我们这样写:

<customSection>
  <First attribute ="test" />    
</customSection>

<customSection>
  <Second attribute ="test" attribute2 ="np" />  
</customSection>

当我加载该配置时,在两种情况下,配置元素First和Second都将被加载,它们不会为空(对象将为空)。如何在第一个实例中实现第二个对象为空?

谢谢

加载自定义配置部分的问题

首先创建映射类

public class YourCustomConfig : ConfigurationSection 
{
 ....
}

完整示例:http://nnish.com/2009/09/17/custom-configuration-section-in-c/

当你得到你的数据

YourCustomConfig section = ConfigurationManager.GetSection("customSection") as YourCustomConfig;

我已经找到我需要的东西了。每个配置元素都有属性ElementInformation (http://msdn.microsoft.com/en-us/library/system.configuration.elementinformation.aspx),其中进一步显示属性IsPresent,指示特定的配置元素是否存在于配置文件中。官方描述:

IsPresent:获取一个值,该值指示关联的ConfigurationElement对象是否在配置文件中。

有了这个,我可以跟踪哪些元素被加载,哪些元素没有。以前我不能说某物是否等于null。它永远不会独立地等于null,除非它有值