Я прочесываю сеть за последние 3 дня и не могу найти ссылку на этот вопрос. Я создал специальный класс конфигурации, который будет использоваться с моим app.config. Все работает нормально. Проблема возникает, когда свойство конфигурации (элемента конфигурации) не требуется и не определено в app.config. Кажется, что значения по умолчанию возвращаются для свойства конфигурации. Кто-нибудь знает, как определить, не определено ли свойство в app.config? (Я пытался опубликовать свой app.config, но не могу понять, как это сделать... кто-нибудь знает как?)
//Main
namespace TestStub
{
class Program
{
static void Main(string[] args)
{
CustomSettingsHandler config = (CustomSettingsHandler)ConfigurationManager.GetSection("CustomSettingsManager");
Console.WriteLine("Setting1 {0}", config.Setting1.CustomSettingItem);
Console.WriteLine("Setting2 {0}", config.Setting2.CustomSettingItem);
}
}
}
//Custom Configuration Class
namespace CustomConfiguration
{
public class CustomSettingsHandler : ConfigurationSection
{
[ConfigurationProperty("setting1", IsRequired = false)]
public CustomSettingElement Setting1 { get { return (CustomSettingElement)this["setting1"]; } }
[ConfigurationProperty("setting2", IsRequired = false)]
public CustomSettingElement Setting2 { get { return (CustomSettingElement)this["setting2"]; } }
}
public class CustomSettingElement : ConfigurationElement
{
[ConfigurationProperty("customsettingitem", IsRequired = false)]
public int CustomSettingItem { get { return (int)this["customsettingitem"]; } }
}
}