|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
25.02.2017, 03:07 | #1 |
Форумчанин
Регистрация: 28.10.2014
Сообщений: 216
|
Делегаты и события
Здравствуйте.
В C# есть такие 2 темы, как делегаты и события. Я попробовал их изучить, даже код рабочий, но я не понимаю сути. Зачем, как и почему. Делегаты: Делегаты я понимаю только так: Есть функция Код:
То есть объявляем делегат с такой же сигнатурой: Код:
Код:
Код:
события: Как я понимаю, события вызываются при каких то условиях. Например Tick, прошла секунда, Click нажата кнопка и проч. Использовать готовые события и назначать обработчики не вопрос. А вот делать свои... Вопросы, вопросы, вопросы... Плиз, знающие, поясните всю данную ситуацию, и желательно с примером задачи, где без делегатов и событий никак. Покажите и объясните на примере их использование. Заранее Благодарен! |
25.02.2017, 08:51 | #2 | |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Цитата:
Есть событие OnClick и делегат Button1.OnClick. Когда наступает событие OnClick, то вызывается соответствующий метод. |
|
25.02.2017, 09:50 | #3 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Разработчики винформс во время разработки кнопки не знают что вы захотите сделать при нажатии кнопки в вашем приложении.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
25.02.2017, 12:04 | #4 |
Форумчанин
Регистрация: 28.10.2014
Сообщений: 216
|
С событиями я более менее понимаю, но делегаты...
|
25.02.2017, 12:07 | #5 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Дык посмотрите как реализованы события.
Делегат это по сути просто ссылка на функцию.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
26.02.2017, 23:29 | #6 |
Форумчанин
Регистрация: 28.10.2014
Сообщений: 216
|
Я понимаю, но зачем...
|
26.02.2017, 23:33 | #7 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Что зачем? Рассказал же уже про один пример.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
27.02.2017, 06:53 | #8 |
Форумчанин
Регистрация: 28.10.2014
Сообщений: 216
|
всё равно непонятна суть делегатов.
|
27.02.2017, 08:07 | #9 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Можете считать, что делегат это просто ссылка на функцию. Переменная, которая содержит ее адрес.
ВОт вы разрабатываете ГУИ либу и, естественно, хотите, чтобы программист ее использующий мог сам написать функцию обработчик события "клик" по кнопке. |
27.02.2017, 16:26 | #10 |
Форумчанин
Регистрация: 28.10.2014
Сообщений: 216
|
Я понимаю, что делегат переменная, с ссылкой на метод. Но зачем это надо?
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Делегаты | KatruKot2 | C# (си шарп) | 15 | 28.09.2014 15:01 |
Делегаты и события | Kirsan94 | C# (си шарп) | 2 | 03.12.2013 08:11 |
Делегаты C# | sir.andrey | Помощь студентам | 3 | 21.09.2011 10:06 |
События в WPF. Обращение к компонентам формы из события | Casper-SC | Общие вопросы .NET | 3 | 25.07.2010 19:03 |
События и делегаты в C# как они работают | _PROGRAMM_ | Общие вопросы .NET | 11 | 04.02.2010 06:44 |