Sobes.tech
Junior — Middle

Explica scopul și modul de funcționare al delegaților în contextul programării în C#.

sobes.tech AI

Răspuns de la AI

Delegatii în C# sunt tipuri care reprezintă referințe la metode cu o semnătură specifică. Ele permit apelarea metodelor indirect, transmiterea lor ca parametri și implementarea callback-urilor.

Puncte cheie:

  • Un delegat definește semnătura unei metode (tipurile parametrilor și valoarea de returnare).
  • Se poate atribui delegatului orice metodă cu o semnătură compatibilă.
  • Permite implementarea evenimentelor și a pattern-ului observator.

Exemplu:

public delegate void Notify(string message);

public class Process
{
    public Notify OnCompleted;

    public void Start()
    {
        // ... lucru
        OnCompleted?.Invoke("Proces finalizat");
    }
}

Aici, delegatul Notify este folosit pentru a notifica finalizarea procesului.