繁体   English   中英

C#:从超过1个类扩展

[英]C#: Extending from more than 1 class

假设我有一个ViewModel TabViewModel ,它将ObservableObject扩展为MVVM Foundation Framework中ViewModels的类。 然后我也有一个EditorTabViewModel延伸TabViewModel ,现在我需要延长DependencyObject实现DependencyProperties。 我不能超过1班。 我该如何实现呢? 我可以有一个“中间”类,如......

TabViewModel : ObservableObject

EditorTabViewModel : TabViewModel

DependentEditorTabViewModel : DependencyObject

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

UPDATE

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

C#不支持多重继承 最好的办法是使用Interfaces,而不是父类。

即使您没有使用接口的选项(也许您无法访问代码),通常更喜欢组合而不是继承 你真的需要继承这两个类的,或者你可以用它们组成呢?

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

DependentEditorTabViewModel : DependencyObject

TabViewModel : DependentEditorTabViewModel

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM