Проверьте, не установлено ли значение ConfigurationProperty

Допустим, у меня есть ConfigurationProperty, определенный таким образом:

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

Как я могу проверить, имеет ли этот ConfigurationProperty значение или нет? DefaultValue не будет работать в этом случае, потому что любое двойное значение является допустимым значением для свойства конфигурации.

1 ответ

Решение

Вы можете попробовать сделать type собственности 'Nullable':

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

Это позволит вам проверить if(TheProp.HasValue),

ElementInformation имеет свойство IsModified, которое можно использовать, чтобы узнать, присвоено ли свойство конфигурации такое значение:

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

или вы можете пройти через PropertyInformationCollection.

Другие вопросы по тегам