所以我有很多选项,每个不同的页面/选项卡都可以有自己的本地选项。我们可能会有10-15页的标签打开顶部。我需要实现一种显示全局默认值的方法,并且预测所有选项卡具有一致的值。我正在研究WPF应用程序的model/viewmodel部分。作为参数的属性? C#
我很想找到一种更优雅的方式,因为我不得不削减和过去大致相同的代码20+次,只是改变属性名称。也许这是动力学解决的问题,但现在这感觉既错误又痛苦。
这是我目前的解决方案的例子:
public class Foo
{
private bool fooVar1;
private bool fooVar2;
//lots of these
private decimal fooVar23;
public Foo()
{
}
public bool FooVar1
{
get;
set;
}
//you get the picture...
}
public class FooMonitor
{
private Foo defaultFoo;
private List<Foo> allFoos;
public FooMonitor(Foo DefaultFoo)
{
defaultFoo = DefaultFoo;
}
public void AddFoo(Foo newFoo)
{
allFoos.Add(newFoo);
}
public void AddFoo(Foo oldFoo)
{
allFoos.Remove(oldFoo);
}
public bool IsFooVar1Consistent
{
get
{
Foo[] tempFoos = allFoos.ToArray();
foreach (Foo tempFoo in tempFoos)
{
if (tempFoo.FooVar1 != defaultFoo.FooVar1) return false;
}
return true;
}
}
}
还是我完全不正确处理这个问题。 当我写这个问题(大约2000行代码后)我想我是如何阅读WPF自己实现的字典查找爬行到父,看是否存在一个属性和值应该是什么。
我想这正是我正在寻找的重做整个代码不同的模式。 – 2010-01-15 19:37:33