Наследование от ListViewItemCollection - PullRequest
0 голосов
/ 17 июля 2009

Я пытаюсь создать класс, который наследует от ListViewItemCollection, и я получил эту ошибку: «Нет перегрузки для метода« ListViewItemCollection »принимает« 0 »аргументов».

Любая идея, как это исправить или как я могу унаследовать от этого класса. Все предложения приветствуются. Привет! * * 1003

Ответы [ 2 ]

3 голосов
/ 17 июля 2009

Ответ Фредерика правильный, классу ListViewItemCollection требуется владелец, то есть объект ListView для передачи конструктору.

Тем не менее, я думаю, что его заявление неверно, возможно, вам потребуется:

public class MyListViewItemCollection : ListView.ListViewItemCollection
{
    public MyListViewItemCollection(ListView owner)
        : base(owner)
    {
    }
}
1 голос
/ 17 июля 2009

Кажется, что класс ListViewItemCollection не имеет открытого конструктора по умолчанию.

Это означает, что вам придется явно создать конструктор в вашем классе, который вызывает один из доступных (защищенных или открытых) конструкторов в классе ListViewItemCollection.

У класса ListViewItemCollection есть открытый конструктор, который принимает ListView в качестве аргумента.

Итак, ваш класс может выглядеть так:

public class MyListViewItemCollection : ListView.ListViewItemCollection
{
     public MyListViewItemCollection ( ListView owner ) : base(owner)
     {}
}

edit: Конструктор, который принимает ListView в качестве аргумента, является единственным доступным конструктором, поэтому вам придется сделать это, как в моем примере выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...