지난 3 일 동안 인터넷을 수색 했으므로이 질문에 대한 참조를 찾을 수 없습니다. 내 app.config와 함께 사용할 사용자 지정 구성 클래스를 만들었습니다. 모든 것이 잘 작동합니다. 구성 요소의 구성 등록 정보가 필요하지 않고 app.config에 정의되지 않은 경우 문제가 발생합니다. 구성 속성에 대해 기본값이 반환되는 것 같습니다. 누구든지 속성이 app.config에 정의되어 있지 않은지 확인하는 방법을 알고 있습니까? (내의 app.config를 게시하려고 노력했지만, 그것을 수행하는 방법을 알아낼 수 없습니다 ... 사람이 어떻게 알아?) 난의 상단 떨어져 생각할 수사용자 지정 구성, ConfigurationElements 및 ConfigurationProperties
//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"]; } }
}
}
그게 효과가 있지만, 속성이 정의되지 않은 경우 기본값을 억제하는 방법이 있기를 바랬습니다. 현재 사용중인 작업은 config.Setting2.IsPresent – user62064