假设我有一个ViewModel TabViewModel
,它扩展了ObservableObject
MVVM Foundation Framework中ViewModels的类。然后我还有EditorTabViewModel
扩展TabViewModel
,现在我需要扩展DependencyObject
来实现DependencyProperties。我不能超过1班。我该如何实现呢?我可以有一个像......这样的“中级”课程。
TabViewModel : ObservableObject
EditorTabViewModel : TabViewModel
DependentEditorTabViewModel : DependencyObject
但那是一个额外的不必要的课程。有没有更好的方法呢?
更新
实际上我不能做以上事情。DependentEditorTabViewModel
仍然需要扩展EditorTabViewModel ...而不是DependencyObject
答案 0 :(得分:2)
C#不支持Multiple Inheritance。最好的办法是使用Interfaces,而不是父类。
即使您没有使用接口的选项(也许您无法访问代码),通常情况下prefer composition over inheritance会更好。你真的需要继承这两个类,或者你可以用它们撰写吗?
答案 1 :(得分:1)
如果你正在完成你需要的东西,它不是一个额外的课程。以下是你将如何做到这一点:
DependentEditorTabViewModel : DependencyObject
TabViewModel : DependentEditorTabViewModel