winforms 什么时候我应该真正调用属性.设置.默认的Reload方法

2uluyalo  于 2022-11-17  发布在  其他
关注(0)|答案(3)|浏览(141)

什么时候我真的应该调用Properties.Settings.Default的Reload方法?每次我想从持久存储中访问属性的时候?真的有必要吗?
先谢谢你。

p5fdfcr1

p5fdfcr11#

ApplicationSettingsBase.Reloaddocumentation声明:
刷新持久性存储中的应用程序设置属性值。
因此,是的,无论何时您想要从持久性存储 * 访问属性 *,都应该调用它。您 * 没有 * 问的是:
每次需要值时,是否都需要从永久存储中加载设置?
这个问题的答案是 no。该值将缓存在应用程序设置对象中,因此如果您只需要缓存的值,则不需要重新加载。

nqwrtyyt

nqwrtyyt2#

对我来说,真实的的答案是 * 我根本想不出一个理由来调用它 *。我来告诉你为什么:
有两种类型的设置:用户设置和应用程序设置。用户设置是基于每个用户进行更改的,并且很可能是通过属于应用程序本身的UI进行更改的。如果您在应用程序中更改了设置,它已经 * 知道 * 它们已经被更改了-无需重新加载。
应用程序设置在应用程序安装后不应该更改。应该如何更改?只有管理员才能访问程序文件夹。
在用户空间(服务)之外运行的应用程序没有GUI,也没有充分的理由使用服务的用户设置。通常,您将更改配置文件,然后重新启动服务。
这些设置在应用程序启动时加载一次。每次访问设置之前,您是否应该重新读取它们?不,原因如上所述。

um6iljoc

um6iljoc3#

以下是何时使用Reload()方法的示例:
我已经为这些属性设置构建了一个编辑器。它是一个在对话框窗体上带有几个按钮的propertygrid控件。
当用户单击以调用该编辑器时,来自Properties.Settings.Default的键/值将显示在propertygrid中。
现在,用户可以更改许多属性,但如果他们决定不保存这些更改,设置必须重新加载,因为他们现在是无效的!
这时我用途:

((ApplicationSettingsBase)propertyGrid.SelectedObject).Reload();

相关问题