Разница в том, что вы можете вызывать событие только из класса, в котором оно было объявлено.
Событие похоже на автоматическое свойство.Для каждого события компилятор создает:
- Основной частный делегат.
add
открытый метод. remove
открытый метод.
Когда другой класс делает +=
, он преобразуется в вызов add
.Поскольку делегат является закрытым, его нельзя вызвать из другого класса, и невозможно свободно получить / изменить список вызовов.