Un delegado es una referencia type-safe a un método (como un puntero a función) — te permite tratar los métodos como datos: almacenarlos, pasarlos como argumentos e invocarlos. Los eventos son un patrón construido sobre delegados para el modelo publish-subscribe (observador). Son la base de callbacks, LINQ y la programación orientada a eventos en C#.
Delegados — métodos como valores
;
Operation = (a, b) => a + b;
Operation multiply = (a, b) => a * b;
result = (, );
=> op(x, y);
Apply(multiply, , );
