0

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

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

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

或者

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

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

谢谢

4

2 回答 2

2

首先,您创建映射类

public class YourCustomConfig : ConfigurationSection 
{
 ....
}

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

其次你得到你的数据

YourCustomConfig section = ConfigurationManager.GetSection("customSection") as YourCustomConfig;
于 2013-03-25T13:55:52.333 回答
0

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

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

有了这个,我可以跟踪哪些元素已加载,哪些未加载。以前我不能说 null 是否相等。它永远不会独立地与 null 相等,因为它有值。

于 2013-03-25T13:49:38.967 回答