Наследования С#. Framework 1.0
От: abrikotin Россия  
Дата: 23.05.07 17:14
Оценка:
Кто-нить подскажите!
Наследуется класс от ListView. Новый ListView должен отображать все Detail (т.е. в виде таблицы). Надо сделать свойство private View. Пишу:

new private System.Windows.Forms.View View
{
get{;}
set{;}
}

Но View родительского ListView один фиг доступно.
Как быть?
Re: Наследования С#. Framework 1.0
От: nikov США http://www.linkedin.com/in/nikov
Дата: 24.05.07 05:01
Оценка:
Здравствуйте, abrikotin, Вы писали:

A>Но View родительского ListView один фиг доступно.

A>Как быть?

Производный класс не может сужать набор членов базового класса или уменьшать их видимость.
Самое большее, что можно сделать: это переопределить виртуальный член, и бросать в нем исключение NotSupportedException, хотя это — плохой стиль.
Re: Наследования С#. Framework 1.0
От: _FRED_ Черногория
Дата: 24.05.07 06:48
Оценка:
Здравствуйте, abrikotin, Вы писали:

A>Кто-нить подскажите!

A>Наследуется класс от ListView. Новый ListView должен отображать все Detail (т.е. в виде таблицы). Надо сделать свойство private View. Пишу:
[c#] — это для выделения кода
A>new private System.Windows.Forms.View View
A>{
A>    get{;}
A>    set{;}
A>}
[/c#]
A>Но View родительского ListView один фиг доступно.
A>Как быть?

Не обращать внимание. Если логика на это заточена, то придётся менять в консерватории, например, агрегировать ListView в свой UserControl и отдать "наружу" только необходимые свойства. Избавиться от свойства View всё-равно не получится, так как объект вашего класса всегда можно привести в типу ListView и вызвать свойство View, а класс ListView почему-то не предоставляет возможности узнать, что свойство View было изменено
Help will always be given at Hogwarts to those who ask for it.
Re[2]: Наследования С#. Framework 1.0
От: abrikotin Россия  
Дата: 25.05.07 19:49
Оценка:
Спасибо nikov.
Re[2]: Наследования С#. Framework 1.0
От: abrikotin Россия  
Дата: 25.05.07 19:50
Оценка:
Спасибо _FRED_.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.