我想创建一个继承自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