Sobes.tech
Junior — Middle

Vysvetlite koncept delegátov v jazyku C# a ich hlavnú funkciu.

sobes.tech AI

Odpoveď od AI

Delegáty v C# sú typy, ktoré predstavujú odkazy na metódy s určitým podpisom a návratovou hodnotou. Umožňujú ukladať a volať metódy ako objekty.

Hlavný účel delegátov:

  • Umožňujú implementáciu spätných volaní (callbacks)
  • Poskytujú flexibilitu pri volaní metód, napríklad pre udalosti a spracovanie asynchrónnych operácií
  • Používajú sa na implementáciu modelu založeného na udalostiach

Príklad delegáta:

// Deklarácia delegáta
public delegate void Notify(string message);

class Program
{
    static void Main()
    {
        Notify notifyHandler = ShowMessage;
        notifyHandler("Ahoj, delegáty!");
    }

    static void ShowMessage(string msg)
    {
        Console.WriteLine(msg);
    }
}

Tu môže delegát Notify odkazovať na akúkoľvek metódu, ktorá prijíma reťazec a nič nevracia.