Прошу помощи в понимании наследования

программирование C# Sharp

Пишу компонент наследник от UserControl, у него есть рабочие методы MouseDown, MouseUp и Click. От этого компонента наследуется еще один компонент, у него тоже есть свои методы MouseDown, MouseUp и Click.

Вопрос: в каком порядке будут выполнятся эти три метода предка и наследника при нажатии кнопки?

Примечание:
Т.е. сначала выполнятся MouseDown, MouseUp предка, а потом MouseDown, MouseUp потомка?

Примечание:
Да, вызов будет к наследнику, но события предка тоже выполняются, только не могу отследить в каком порядке.

Примечание:
PetSerAl уже заметил, что это не функции, а обработчики событий. Я их не переопределяю, я задаю реакции на нажатие для предка и реакции для потомка, выполняются и те и другие, но вопрос в каком порядке.
Ответы:
MouseDown, MouseUp и Click это не методы, это события. Обработчики событий вызываются в порядке добавления.
Смотри: пусть есть класс А и его наследник Б. Если в классе А объявлены метод ф1, а в классе Б этот метод переопределен, то при вызове ф1 от объекта Б метод ф1 класса А вызываться не будет. Так что в твоем случае все три вызова будут к компоненту наследнику: down, up, click.
Обработчики событий выполняются в том порядке в котором они были добавлены. Например, если обработчики событий добавляются в конструкторе, то сначала будет вызван обработчик, добавленный в базовом классе, а потом обработчик, добавленный в производном, так как конструктор базового класса вызывается до конструктора производного класса. Если Вы добавляете обработчики как-то по другому, то и результат может быть другим.


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.