簡體   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