2017-09-10 22 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

所以唯一的選擇是包裝? –