Доктор Акаса
Просветленный
(44439)
9 лет назад
Делегат содержит в себе ссылку на один или несколько методов.
Методы можно добавлять и удалять.
Делегат может вызвать методы. Методы будут вызваны в порядке их добавления.
Если методы возвращают значения, делегат вернёт значение только последнего вызова.
Если при вызове произойдёт исключение, цепочка методов прервётся.
Методы делегата можно обработать по одному, в цикле foreach.
Событие на самом деле является свойством, содержащим делегат.
Событие может вызывать только класс владелец.
Для события доступны только два способа взаимодействия, операторы += и -=.
События служат для взаимодействия классов.
Например, текстовое поле может сообщить о том, что его отредактировали.
А подписавшийся на событие метод тут же обработать ввод пользователя.
Делегат и событие такие же разные как поле и свойство.