Ein Delegate ist eine typsichere Referenz auf eine Methode (ähnlich einem Funktionszeiger) — es ermöglicht dir, Methoden als Daten zu behandeln: sie zu speichern, als Argumente zu übergeben und sie aufzurufen. Events sind ein auf Delegates aufgebautes Pattern für das Publish-Subscribe- (Observer-) Modell. Sie sind die Grundlage für Callbacks, LINQ und ereignisgesteuerte Programmierung in C#.
Delegates — Methoden als Werte
;
Operation = (a, b) => a + b;
Operation multiply = (a, b) => a * b;
result = (, );
=> op(x, y);
Apply(multiply, , );
