Чем отличается event от delegate?



Отличаются так же, как отличаются свойства от полей.

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

Событие реализуется компилятором в виде приватного поля-делегата и двух публичных методов подписки/отписки на событие.