C#:从超过1个类扩展

时间:2010-10-17 02:12:36

标签: c# wpf mvvm dependency-properties mvvm-foundation

假设我有一个ViewModel TabViewModel,它扩展了ObservableObject MVVM Foundation Framework中ViewModels的类。然后我还有EditorTabViewModel扩展TabViewModel,现在我需要扩展DependencyObject来实现DependencyProperties。我不能超过1班。我该如何实现呢?我可以有一个像......这样的“中级”课程。

TabViewModel : ObservableObject

EditorTabViewModel : TabViewModel

DependentEditorTabViewModel : DependencyObject

但那是一个额外的不必要的课程。有没有更好的方法呢?

更新

实际上我不能做以上事情。 DependentEditorTabViewModel仍然需要扩展EditorTabViewModel ...而不是DependencyObject

2 个答案:

答案 0 :(得分:2)

C#不支持Multiple Inheritance。最好的办法是使用Interfaces,而不是父类。

即使您没有使用接口的选项(也许您无法访问代码),通常情况下prefer composition over inheritance会更好。你真的需要继承这两个类,或者你可以用它们撰写吗?

答案 1 :(得分:1)

如果你正在完成你需要的东西,它不是一个额外的课程。以下是你将如何做到这一点:

DependentEditorTabViewModel : DependencyObject

TabViewModel : DependentEditorTabViewModel