2
基本上我有一個具有以下簽名的方法:爲什麼我不能使用BindingList <TInherited>作爲一個參數來使用BindingList的方法<T>?
public void Save(BindingList<T> items);
,我嘗試使用
classInstance.Save(items); //items = BindingList<ObjectInheritedFromT>
調用它,但它似乎C#不知道繼承拋出一個編譯期時間錯誤,其中爲T
編寫的所有代碼對於ObjectInheritedFromT
也完全有效,對嗎?
有沒有解決這個問題的方法?我意識到這項工作,如果它是IEnumerable
,但然後(奇怪的是)結果BindingList<>
沒有實現IEnumerable,我需要執行操作,如Remove
和Add
。
我前一陣子,現在讀到它,你提到它我記住。有什麼辦法可以解決這個問題嗎? – PedroC88
您可以'.Cast',或者以其他方式將其改爲預期的類型,但不會,沒有解決方法會影響'BindingList '本身。 –
JerKimball