如何制作win表单应用程序设置的副本?

时间:2012-06-23 17:41:01

标签: c# .net winforms design-patterns

是否有与memento模式类似的通用方法来制作Windows窗体应用程序Settings.Default.PropertyValues的副本?我需要检查特定属性值是否已更改。

object state = CreateMemento(Settings.Default.PropertyValues);

// show windows dialog where properties may change and be saved

SettingsPropertyValueCollection settings = GetMemento(state);
if (IsSomePropertyChanged(settings, Settings.Default.PropertyValues);
    DoSomeAction(); 

1 个答案:

答案 0 :(得分:1)

相关的设计模式可能是Decorator(您在保留界面时添加功能)或Proxy(一个对象在维护其界面时充当另一个对象的替身)

您需要以某种方式将Settings.Default.PropertyValues与另一个查找要更改的设置的对象进行代理,并将所有更改委托给原始对象。是否可以在系统范围内完成,或者您必须手动完成,因此所有代码都必须使用我不知道的myProxyForSettings.Default.PropertyValues。