2017-09-10 6 views
0

WeakEventCollectionWeaverに複数のObservableCollectionをバインドする必要があります。一般的なWeakEventManagerから継承するとエラーが発生します

私はこのようにそれを継承する:

public class WeakEventCollectionWeaver<T> : 
    WeakEventManager<ObservableCollection<T>, 
    NotifyCollectionChangedEventArgs> { } 

が、私はエラーを取得:

CS1729 WeakEventManager<ObservableCollection<T>, NotifyCollectionChangedEventArgs> does not contain a constructor that takes 0 arguments

私はそれを見て、私はすべてのコンストラクタを実装する必要はありません信じています。だから、なぜこのエラーはそこにあるの?

答えて

0

このクラスを継承することはできません。それはプライベートコンストラクタを持ちます(したがって、デフォルトコンストラクタはありません)。したがって、子孫クラスはそれを呼び出すことができません。

https://referencesource.microsoft.com/#WindowsBase/Base/System/Windows/WeakEventManagerT.cs,a795c952f2e86713

+0

だから私はとにかくそれを継承カント:

ここでは、クラスのソースを見てみましょうか?そこにはパターンがありませんか? –

+0

基本的なオブジェクトの向きは、それが可能ではない(そして、そうすべきではない)ことを指示しています。プライベートコンストラクタでクラスを継承するパターンがないということはほぼ肯定的です。 –

+0

唯一のオプションはラッパーですか? –

関連する問題