IT-lexikon › Programmering › Delegat (C#)

Delegat (C#)

Programmering In English → Uppdaterad: 2026-08-01

En typsäker funktionspekare: en variabel som håller en metod och kan anropas som om den vore metoden.

Deklareras som en egen typ — delegate int Op(int a, int b); — och kan sedan tilldelas vilken metod som helst med matchande signatur. Till skillnad från en C-funktionspekare bär den med sig instansen metoden hör till, och kompilatorn kontrollerar signaturen. Delegater fanns med redan i .NET 1.0 år 2002 och var det som gjorde händelsehantering hanterbar i Windows Forms.

De är multicast: en delegat kan hålla en invokationslista med flera metoder, och += lägger till. Det är hela grunden för event-nyckelordet. Från C# 3.0 skriver få utvecklare egna delegattyper längre — de generiska Func<> och Action<> plus lambdauttryck täcker nästan allt, och LINQ vilar helt på dem.

← Tillbaka till lexikonet