2009-12-16 35 views
18

当我应该使用configurationManager.AppSettings或Visual Studio生成的强类型设置时,应该规定什么?在大多数情况下,强类型的似乎更合适,但我想可以使用ConfigurationManager方法动态地将设置添加到已部署的应用程序,但是是否有任何指导原则在哪些情况下都可以使用?ConfigurationManager.AppSettings [“SettingName”] vs Properties.Settings.Default.SettingName什么时候应该使用每个?

+1

[appSettings vs applicationSettings(.NET app.config)]的优缺点](http://stackoverflow.com/questions/460935/pros-and-cons-of-appsettings-vs-applicationsettings-net -app-config) – 2016-05-01 12:23:05

回答

6

最大的区别是生成的属性是只读的,所以使用AppSettings的主要原因是如果你想写它们(这是罕见的)。

是的,你可以使用AppSettings进行动态生成的设置,但这也很少见。

+1

都可以手动修改,你的意思是生成的属性不能用程序编写的方式编写,但AppSettings可以(如果你曾经想过)? – 2009-12-16 12:20:39

+0

Bebop:是(2x) – 2009-12-16 14:21:34

2

我建议松散类型的设置较旧,而且应该只用于向后兼容。

强类型设置更强大,因为它们是...强类型。

2

使用Properties.Settings.Default.SettingName。但ConfigurationManager.AppSettings [“SettingName”]只能在第一个不可用时使用。

+0

请解释在什么情况下第一个可能无法使用? – 2009-12-16 12:28:49

+0

如果Properties.Settings.Default在另一个程序集中使用。例如,如果“设置”属于程序集MyMainApplication并且它使用MyBusinessLogicLibrary,则在这种情况下,MyBusinessLogicLibrary只能访问“ApplicationSettingsBase”方法。 – 2009-12-16 14:45:41

相关问题