Sobes.tech
Junior — Middle

Vysvětlete účel a fungování delegátů v kontextu programování v C#.

sobes.tech AI

Odpověď od AI

Delegáti v C# jsou typy, které představují odkazy na metody s určitým podpisem. Umožňují volat metody nepřímo, předávat je jako parametry a implementovat zpětné volání.

Hlavní body:

  • Delegát definuje podpis metody (typy parametrů a návratová hodnota).
  • Lze přiřadit jakoukoli metodu s kompatibilním podpisem delegátu.
  • Umožňují implementaci událostí a vzoru pozorovatele.

Příklad:

public delegate void Notify(string message);

public class Process
{
    public Notify OnCompleted;

    public void Start()
    {
        // ... práce
        OnCompleted?.Invoke("Proces dokončen");
    }
}

Zde je delegát Notify použit k oznámení o dokončení procesu.