5

假设我有一个 ViewModel TabViewModel,它扩展ObservableObject了 MVVM 基础框架中 ViewModels 的类。然后我还有一个EditorTabViewModel那个extends TabViewModel,现在我需要extendDependencyObject来实现DependencyProperties。我不能扩展超过 1 个类。我该如何实现呢?我可以有一个“中级”课程,比如......

TabViewModel : ObservableObject

EditorTabViewModel : TabViewModel

DependentEditorTabViewModel : DependencyObject

但那是 1 个额外的不必要的课程。有没有更好的方法来做到这一点?

更新

操作实际上我无法做到以上。DependentEditorTabViewModel仍然需要扩展 EditorTabViewModel ...除了DependencyObject

4

2 回答 2

2

C# 不支持多重继承。您最好的选择是使用接口,而不是父类。

即使您没有使用接口的选项(也许您无权访问代码),通常最好选择组合而不是继承。你真的需要继承这两个类,或者你可以用它们来组合吗?

于 2010-10-17T03:16:39.613 回答
1

如果你正在完成你所需要的,它不是额外的课程。以下是你将如何去做:

DependentEditorTabViewModel : DependencyObject

TabViewModel : DependentEditorTabViewModel
于 2010-10-17T03:02:00.143 回答