Sobes.tech
Junior — Middle

Spiega lo scopo e il funzionamento dei delegati nel contesto della programmazione in C#.

sobes.tech AI

Risposta dell'AI

I delegati in C# sono tipi che rappresentano riferimenti a metodi con una firma specifica. Permettono di chiamare metodi in modo indiretto, passarli come parametri e implementare callback.

Punti principali:

  • Un delegato definisce la firma di un metodo (tipi di parametri e valore di ritorno).
  • È possibile assegnare a un delegato qualsiasi metodo con una firma compatibile.
  • Permettono di implementare eventi e il pattern osservatore.

Esempio:

public delegate void Notify(string message);

public class Process
{
    public Notify OnCompleted;

    public void Start()
    {
        // ... lavoro
        OnCompleted?.Invoke("Processo completato");
    }
}

Qui, il delegato Notify viene usato per notificare il completamento del processo.