【发布时间】:2021-07-08 14:55:13
【问题描述】:
我有 C# WPF 应用程序,我想知道什么是最有效的方法
用户可以做一些设置,这些设置将存储到变量中
bool val1 = false;
bool val2 = false;
string val3 = "";
string vak4 = "";
int val5 = ""; #etc
问题是这些值可能有 30-40 个。当用户通过不同视图(mvp 模式)上的按钮进入应用程序的其他位置时,我需要所有这些值将重置为默认值。
所以我很好奇是否有比将所有这些变量放在按钮上的点击事件上并返回它们的默认值更有效的方法。
也许就像将它们放入字典或列表中?只是做循环将所有这些设置为默认值?也许将它们放入数组中?或者在这种情况下最有效的解决方案是什么?
【问题讨论】:
-
您的重点应该是减少您需要的变量数量。
-
您可以决定在加载控件时设置默认值。但同时您需要保留一个静态变量来确定会话是否需要持久化数据。如果该变量为真,则不加载数据默认值,否则加载。通过会话变量,我的意思是一个静态对象。
-
为什么不写一个reset方法??需要时调用 reset 方法。
-
也许如果这是某种 Settings 对象(由几十个离散变量组成),那么您可以简单地将您的设置对象重新分配给
Settings.Default的新实例或其他东西像这样。 -
这些变量字段是类还是什么?例如,您的视图、模型或演示者上的字段?它们是不同类型的,就像您在代码块中显示的那样?