Кто как понимает разницу между делегатом и событием с# и их необходимость

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
Хотелось бы услышать мнение не копипаст, а личное понимание.
Когда дошёл до делегатов, возник вопрос зачем, почему не вызывать функцию напрямую?
Когда дошёл до событий)) то вообще, смотрю что на делегат функцию вешаем к примеру " = new MyDelegate(то что надо делать)" а на событие то же самое, только через += ..

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

хм) потом мне наверно покажется глупостью, но пока у меня отложилось, что без делегата не создашь событие, а события нужны, поскольку так встроено в формах для обработки действий пользователя
 

Adigen

Client
Регистрация
28.07.2014
Сообщения
825
Благодарностей
653
Баллы
93
На самом деле все очень просто, очень хорошо что и почему ,для новичков, описано здесь: https://habrahabr.ru/post/213809/
 
  • Спасибо
Реакции: arhip1985 и masterLomaster

LaGir

Client
Регистрация
01.10.2015
Сообщения
227
Благодарностей
927
Баллы
93
В дополнение к предыдущему ответу, в формате видео ещё тут довольно подробно и понятно объясняют:
 
  • Спасибо
Реакции: arhip1985

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
всем поставил по спасибо, но поставил бы два спасибо), за личное понимание
 

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 312
Благодарностей
1 191
Баллы
113
Событие - это способ подключения ссылки на делегаты (а делегат - это просто ссылка на метод), то есть ты просто подключаешь и отключаешь делегат и всё.
Внутри любого события лежат 2 метода: Add и Remove, которые просто подключают и отключают делегат
 
  • Спасибо
Реакции: arhip1985

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)