Зачем нужны делегаты в C#?

Не могу понять,зачем нужны делегаты в C#? Какова их суть?Когда их использовать?Где они могут пригодиться в том же win forms?Знаю что вопрос баян,но все же....Обьясните кто как может,спасибо за ранее!
  • Вопрос задан
  • 6222 просмотра
Пригласить эксперта
Ответы на вопрос 4
max-kuznetsov
@max-kuznetsov
Главный IT-архитектор
Мы используем делегаты для реализации событийной модели. В коде генерируется событие, на которое подписываются различные обработчики: логгеры, мониторы производительности, контроллеры и т.п. Собственно, обработчики событий — это методы, вызываемые с помощью делегатов. В результате код остаётся чистым и понятным, а функциональность обработчиков - конфигурируемой и расширяемой.
Ответ написан
Комментировать
@dmitryKovalskiy
программист средней руки
Раз знаете что баян то зачем спрашивать?! Второй вопрос по ссылке имеет вполне годные ответы
Ответ написан
Комментировать
Nipheris
@Nipheris Куратор тега C#
Дмитрий Ковальский прав, с предыдущего вопроса не прошло и недели.

Если того что там есть вам мало, зайдем с практической стороны. Вы пишете для меня библиотеку и я прошу вас сделать мне функцию обхода графа по ПВШ/ПВГ, которая будет вызывать для каждой вершины некоторое действие (заранее неизвестное). Я хочу чтобы сделали именно обход, а что делать с каждой вершиной я хочу решать сам во время использования. В идеале, хотелось бы передавать вам это "действие" для каждой вершины как параметр в функцию обхода. Как вы решите эту задачу?
Ответ написан
@Makis_P
не актуально, но вдруг кому то поможет.
в работе у себя встретил один из методов в библиотеке от Microsoft в котором на входе был путь http и делегат, который отдает bool. делегат должен был указать, доверенный ли адрес или нет. и получается, MS то не знает о ваших адресах http, но используя делегаты может построить дальнейшую логику библиотеки.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы