0

假设我有一个这样定义的 ConfigurationProperty:

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

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

4

2 回答 2

1

您可以尝试type将属性设置为“Nullable”:

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

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

于 2014-09-01T09:23:42.130 回答
0

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

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

或者您可以循环访问 PropertyInformationCollection。

于 2020-10-20T09:40:06.110 回答