Lessico IT › Programmazione › Delegate (C#)

Delegate (C#)

Programmazione Svenska → Aggiornato: 2026-10-01

Un puntatore a funzione type-safe: una variabile che contiene un metodo e può essere chiamata come se fosse il metodo.

Si dichiara come tipo a sé, delegate int Op(int a, int b);, e gli si può poi assegnare qualsiasi metodo con la firma corrispondente. A differenza di un puntatore a funzione del C porta con sé l'istanza a cui il metodo appartiene, e il compilatore verifica la firma. I delegate arrivarono con .NET 1.0 nel 2002 e resero sopportabile la gestione degli eventi in Windows Forms.

Sono multicast: un delegate può contenere una lista di invocazione con più metodi, e += vi aggiunge elementi. È l'intero fondamento della parola chiave event. Da C# 3.0 pochi sviluppatori dichiarano ancora tipi delegate propri: i generici Func<> e Action<> insieme alle espressioni lambda coprono quasi tutto, e LINQ poggia interamente su di essi.

← Torna al lessico