使用Properties.Settings进行应用程序设置

mil*_*lie 9 c# settings visual-studio-2010

我使用Visual Studio提供的内置设置来存储简单的应用程序设置.到目前为止,我已经通过使用约定在我的应用程序中访问了这个:

Properties.Settings.Default.MySetting
Run Code Online (Sandbox Code Playgroud)

然后Save通过使用调用方法:

Properties.Settings.Default.Save()
Run Code Online (Sandbox Code Playgroud)

但是,有人最近告诉我,通过创建一个如下所示的成员变量来访问属性更为正确:

private Properties.Settings settings = new Properties.Settings()
Run Code Online (Sandbox Code Playgroud)

然后使用该成员settings访问属性和方法,如:

settings.MySetting
settings.Save()
Run Code Online (Sandbox Code Playgroud)

我隐约回想起他们通过描述设置存储在用户区域的方式的不同来证明这一点.

有人可以确认或提供有关差异的进一步细节吗?非常感谢.

Tho*_*que 10

Settings.Default 初始化如下:

private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
Run Code Online (Sandbox Code Playgroud)

所以它与手动创建实例几乎相同Settings,除了提供的Settings.Default实例是同步实例.我看不出任何有理由创建Settings手动实例......


Dir*_*ter 7

这浪费了我很多时间.

[MyAppNameSpace].Properties.Settings.Default.Save();
Run Code Online (Sandbox Code Playgroud)

不确定何时可以删除上面的命名空间但是在app.xaml.cs代码中的wpf中我需要指定命名空间以使其编译.

  • 谢谢谢谢!这节省了我很多时间!有趣的是,我是 2.5 年后第一个得到帮助的人!这在 app.xaml.cs 中有效 (2认同)