IT-Lexikon › Programmierung › Delegate (C#)

Delegate (C#)

Programmierung Svenska → Aktualisiert: 2026-09-08

Ein typsicherer Funktionszeiger: eine Variable, die eine Methode hält und sich aufrufen lässt, als wäre sie diese Methode.

Man deklariert ihn als eigenen Typ — delegate int Op(int a, int b); — und kann ihm danach jede Methode mit passender Signatur zuweisen. Anders als ein C-Funktionszeiger trägt er die zugehörige Instanz mit sich, und der Compiler prüft die Signatur automatisch. Delegates gab es bereits in .NET 1.0 im Jahr 2002, und sie machten Event-Handling in Windows Forms erst erträglich.

Sie sind multicast-fähig: Ein Delegate kann eine Aufrufliste mit mehreren Methoden halten, und += hängt weitere an. Darauf beruht das gesamte event-Schlüsselwort. Seit C# 3.0 schreiben nur noch wenige Entwickler eigene Delegate-Typen — die generischen Func<> und Action<> plus Lambda-Ausdrücke decken fast alles ab, und LINQ baut vollständig darauf auf.

← Zurück zum Lexikon