0

我们有一个包含两个不同项目的解决方案,一个要求使用 .Net 2.0 框架完成。其他使用 .Net 3.5,我们遵循 MVVM,尽管我怀疑这不是关于 MVVM 而是好的模式。

.Net 2.0 有几个不同的对象(比如说 Fruit 类型),它们可能需要不同的 WPF 用户界面来编辑类属性值。目前,我只是在做第一个。.net 3.5 项目是用户实际运行和编辑的项目。

我的第一个想法是,当我们创建 Fruit 子类时(Apple,在构造函数中有一个 Func 参数,该参数返回创建编辑对话框的调用。其他尚未实现编辑对话框的水果只会有一个 Func 参数返回“不支持编辑”编辑器对话框。但 2.0 不支持功能。

我的下一个想法是,向 .net 2.0 类添加属性,这些类引用 .Net 3.5 类,然后 .net 3.5 项目可以使用反射创建实例。但这似乎很混乱。

我可以在 .net 3.5 项目中创建一个 CreateFruitEditor 类,它只检查 Fruit 类型并创建适当的编辑器窗口,但这最终会导致一个大的多行 if 语句检查类型(假设水果完全不同在编辑中。)

所以...... .net 2.0 项目类必须以某种方式通知我的 .net 3.5 项目哪些 .net 3.5 类用于编辑 .net 2.0 类。

4

1 回答 1

2

您在这里混合了担忧。将您的 .NET 2.0 类视为您的模型,并将它们包装或替换为您的视图的 ViewModel。

于 2009-07-28T04:16:13.690 回答