3
我已經創建了以下屬性自定義配置節:自定義的ConfigurationSection默認布爾值
private const string UseMediaServerKey = "useMediaServer";
[ConfigurationProperty(UseMediaServerKey, IsRequired = false, DefaultValue = false)]
public bool UseMediaServer
{
get { return bool.Parse(this[UseMediaServerKey] as string); }
set { this[UseMediaServerKey] = value; }
}
我的理解是,如果屬性未在配置文件中定義,則DefaultValue
應該返回。
但是,在上述情況下ArgumentNullException
被拋出bool.Parse(...)
意味着即使未定義配置屬性也會執行默認訪問器。
當然我可以改變屬性訪問到:
private const string UseMediaServerKey = "useMediaServer";
[ConfigurationProperty(UseMediaServerKey, IsRequired = false)]
public bool UseMediaServer
{
get {
bool result;
if (bool.TryParse(this[UseMediaServerKey] as string, out result))
{
return result;
}
return false;
}
set { this[UseMediaServerKey] = value; }
}
不過,什麼是DefaultValue
屬性點?