Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Наследование и public override string, Объясните неучу разницу 
:(
    Опции темы
cg_ck
Дата 22.9.2007, 04:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 22.9.2007

Репутация: нет
Всего: нет



Всем привет! Моя первая тема у Вас   smile  Не судите строго  smile 

Условный код:
Код

    public partial class MainForm : Form
    {
        public MainForm()
        {
            InitializeComponent();
            mb b = new mb();
            b.Text = "A";
            b.Parent = this;
            b.Show();
       
        }
    }


Что я хочу увидеть?: Хочу увидеть кнопку без текста.
Пишу класс mb:
Код

    class mb : Button
    {
        private String _text;

        public override string Text
        {
            get { return _text; }
            set { this._text = value; }
        }
    }

Что я вижу? Кнопку с текстом.
Тогда пишу так:
Код

    class mb : Button
    {
        private String _text;

        public override string Text
        {
            get {}
            set {}
        }
    }

Вижу нопку без текста.

Я вот понять не могу, если я не пишу base.Text = value; то почему по сути именно это и происходит?

Приходится изголяться так:
Код

    class mb : Button
    {
        private String _text;

        public string Text
        {
            get { return _text; }
            set { this._text = value; }
        }
    }


Но этот вариант мне не нравится. Получается Warning: hides inhirited member.

Кто мне расскажет, почему в первом варианте я вижу текст?


PM MAIL   Вверх
Alek86
Дата 22.9.2007, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1299
Регистрация: 30.1.2007
Где: Киев

Репутация: 2
Всего: 25



Код

        public override string Text
        {
            get {}
            set {}
        }


ты так не можешь написать
точнее можешь, но не откомпилится

Добавлено через 7 минут и 16 секунд
насчеьт вопроса ничего не понял.

судя по всему, текст, который нужно показать в кнопке берется из свойства Text, которое есть и у Button. Если ты его заместишь (override), то текст будет браться уже из твоего свойства (точнее из того, что укажешь в get этого свойства).


--------------------
user posted image    user posted image
PM MAIL   Вверх
cg_ck
Дата 22.9.2007, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 22.9.2007

Репутация: нет
Всего: нет



Да, всё действительно очень просто и логично .)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0400 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.