2011-12-23 31 views
9

我使用Visual Studio提供的內置設置來存儲簡單的應用程序設置。到現在爲止,我已經在我的應用程序通過使用常規訪問此:使用Properties.Settings進行應用程序設置

Properties.Settings.Default.MySetting 

,然後使用調用像Save方法:

Properties.Settings.Default.Save() 

不過,最近有人告訴我,這是比較正確的

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

,然後使用構件settings訪問屬性和方法:通過創建這樣的成員變量來訪問屬性像:

settings.MySetting 
settings.Save() 

我依稀記得,他們通過描述的設置存儲在用戶的區域的方式不同有道理這一點。

任何人都可以確認或給出進一步的細節差異?非常感謝。

回答

10

Settings.Default被初始化爲如下:

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

所以它幾乎Settings相同手動創建的實例,不同之處在於由Settings.Default提供的一個是同步的實例。我看不到有任何理由手動創建Settings實例...

4

這浪費了我很多時間。

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

不知道時,你可以在app.xaml.cs代碼我需要指定命名空間來獲得它來編譯下降的命名空間如上但在WPF。

+1

謝謝謝謝!這爲我節省了很多時間!有趣的是,我是第一個在2.5年後幫助過的人!這工作在app.xaml.cs – mdiehl13

+0

也救了我!它沒有命名空間,直到我將它移動到App.xaml.cs,然後得到「字段初始值設定項不能引用非靜態字段」。看起來應用程序類中有一個'Properties'成員,它與之不清楚。 – Vimes

相關問題