5

MVVM Foundation Framework の ViewModel のクラスをTabViewModel拡張する ViewModelがあるとします。ObservableObject次にEditorTabViewModel、拡張する もあります。次に、 DependencyProperties を実装TabViewModelするために拡張する必要があります。DependencyObject複数のクラスを延長することはできません。これをどのように実装できますか?私は次のような「中級」クラスを持つことができます...

TabViewModel : ObservableObject

EditorTabViewModel : TabViewModel

DependentEditorTabViewModel : DependencyObject

しかし、それは余分な不要なクラスです。これを行うより良い方法はありますか?

アップデート

Ops実際には上記のことはできません。DependentEditorTabViewModelEditorTabViewModel を拡張する必要があります ... とは別にDependencyObject

4

2 に答える 2

2

C# は多重継承をサポートしていません。最善の策は、親クラスではなくインターフェイスを使用することです。

インターフェイスを使用するオプションがない場合でも (コードにアクセスできない可能性があります)、通常は継承よりも構成を優先することをお勧めします。これらのクラスの両方を本当に継承する必要がありますか、それとも代わりにそれらを使用して構成できますか?

于 2010-10-17T03:16:39.613 に答える
1

必要なことを達成している場合、追加のクラスではありません。これを行う方法は次のとおりです。

DependentEditorTabViewModel : DependencyObject

TabViewModel : DependentEditorTabViewModel
于 2010-10-17T03:02:00.143 に答える