Проверьте, не установлено ли значение 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.