Шаблон Singleton - свойство по умолчанию
Я изучал шаблон Singleton, как он используется в классе «Настройки». Вот соответствующий код из Settings.Designer.cs для моего проекта AccessTest:
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
{
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default
{
get
{
return defaultInstance;
}
}
public string applicationSetting1
{
get
{
return ((string)(this["applicationSetting1"]));
}
}
}
Что мне неясно, так это то, почему свойство 'applicationSetting1' доступно через другое свойство 'Default', например:
var value = AccessTest.Properties.Settings.Default.applicationSetting1;
Я использую VS2013 C # и 4.5.