использование Properties.Settings для настроек приложения - PullRequest
9 голосов
/ 23 декабря 2011

Я использую встроенные настройки Visual Studio для хранения простых настроек приложения. До сих пор я обращался к этому в своем приложении, используя соглашение:

Properties.Settings.Default.MySetting

А затем вызвать методы, такие как Save, используя:

Properties.Settings.Default.Save()

Однако кто-то недавно сказал мне, что более правильно получить доступ к свойствам, создав переменную-член следующим образом:

private Properties.Settings settings = new Properties.Settings()

И затем использование члена settings для доступа к свойствам и методам, таким как:

settings.MySetting
settings.Save()

Я смутно припоминаю, что они обосновали это, описав различия в способе хранения настроек в пользовательской области.

Может ли кто-нибудь подтвердить или дать более подробную информацию о различиях? Большое спасибо.

Ответы [ 2 ]

10 голосов
/ 23 декабря 2011

Settings.Default инициализируется следующим образом:

private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));

Так что это почти то же самое, что вручную создавать экземпляр Settings, за исключением того, что предоставленный Settings.Default является синхронизированным экземпляром.Я не вижу веских причин для создания экземпляра Settings вручную ...

5 голосов
/ 12 февраля 2014

Это потратило много времени.

[MyAppNameSpace].Properties.Settings.Default.Save();

Не уверен, когда вы можете отбросить пространство имен, как указано выше, но в wpf в коде app.xaml.cs мне нужно было указать пространство имен для его компиляции.

...