Sobes.tech
Junior — Middle

Vysvetlite účel a fungovanie delegátov v kontexte programovania v C#.

sobes.tech AI

Odpoveď od AI

Delegáty v C# sú typy, ktoré predstavujú odkazy na metódy s určitým podpisom. Umožňujú volanie metód nepriamo, ich odovzdávanie ako parametre a implementáciu spätných volaní.

Hlavné body:

  • Delegát definuje podpis metódy (typy parametrov a návratová hodnota).
  • Môže byť priradený akýkoľvek spôsob kompatibilný s podpisom delegátu.
  • Umožňujú implementovať udalosti a vzor pozorovateľa.

Príklad:

public delegate void Notify(string message);

public class Process
{
    public Notify OnCompleted;

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

Tu sa delegát Notify používa na oznámenie o ukončení procesu.