Делегат — это типобезопасная ссылка на метод (как указатель на функцию) — он позволяет рассматривать методы как данные: сохранять их, передавать как аргументы и вызывать. События — это паттерн, построенный на делегатах для модели издатель-подписчик (observer). Они лежат в основе обратных вызовов, LINQ и событийного программирования в C#.
Делегаты — методы как значения
;
Operation = (a, b) => a + b;
Operation multiply = (a, b) => a * b;
result = (, );
=> op(x, y);
Apply(multiply, , );
