检查是否未设置ConfigurationProperty值

时间:2014-09-01 09:03:32

标签: c# .net c++-cli system.configuration

假设我有这样定义的ConfigurationProperty:

[ConfigurationProperty("TheProp")]
public double TheProp
{
    get{//some code}
    set{//some code}
}

如何检查此ConfigurationProperty是否具有值?在这种情况下,DefaultValue将不起作用,因为任何double值都是配置属性的有效值。

2 个答案:

答案 0 :(得分:1)

您可以尝试制作该物业的type' Nullable':

[ConfigurationProperty("TheProp")]
public double? TheProp
{
    get{//some code}
    set{//some code}
}

这将允许您测试if(TheProp.HasValue)

答案 1 :(得分:0)

ElementInformation具有一个属性“ IsModified”,您可以使用该属性来确定配置属性是否已被分配如下值:

ConfigurationElement instance = //your configuration property
if (instance.ElementInformation.Properties["propertyname"].IsModified)
{
//property has been assigned a value
}

或者您可以遍历PropertyInformationCollection。