我想創建一個繼承自ListViewItemCollection的類,並且出現此錯誤:「方法'ListViewItemCollection'沒有重載需要'0'參數」。繼承自ListViewItemCollection
任何想法如何解決它或如何從這個類繼承。所有建議都歡迎。問候!
我想創建一個繼承自ListViewItemCollection的類,並且出現此錯誤:「方法'ListViewItemCollection'沒有重載需要'0'參數」。繼承自ListViewItemCollection
任何想法如何解決它或如何從這個類繼承。所有建議都歡迎。問候!
Frederik的答案是正確的,ListViewItemCollection類需要一個所有者,即一個ListView對象被傳遞給構造函數。
不過,我認爲他的聲明是錯誤的,你可能需要做:
public class MyListViewItemCollection : ListView.ListViewItemCollection
{
public MyListViewItemCollection(ListView owner)
: base(owner)
{
}
}
確實; ListViewItemCollection在ListView類中聲明。然而,我的代碼是直接寫在SO編輯器中的,所以我沒有用編譯器或任何其他方法對它進行驗證。無論如何,我已經適應了它。 :) – 2009-07-17 13:40:18
看來ListViewItemCollection類沒有公共的默認構造函數。
這意味着您將不得不在您的類中顯式創建一個構造函數,該構造函數調用ListViewItemCollection類中的可訪問(受保護或公共)構造函數之一。
ListViewItemCollection類確實有一個公共構造函數,它將ListView作爲參數。
所以,你的類可以是這樣的:
public class MyListViewItemCollection : ListView.ListViewItemCollection
{
public MyListViewItemCollection (ListView owner) : base(owner)
{}
}
編輯:這需要一個ListView作爲參數的構造函數,是可訪問的唯一的構造,所以你必須要做到像我上面的例子。
ListViewItemCollection是在ListView類型中聲明的,因此您需要將其包含在聲明中:「ListView.ListViewItemCollection」而不是「ListViewItemCollection」。 – 2009-07-17 13:38:47
我可以告訴馬上,這是你的構造器有問題....但是,你可以發佈你的派生類代碼.. – James 2009-07-17 13:24:23