Sobes.tech
Junior — Middle

Vysvětlete koncept delegátů v jazyce C# a jejich hlavní účel.

sobes.tech AI

Odpověď od AI

Delegáti v C# jsou typy, které představují odkazy na metody s určitým podpisem a návratovou hodnotou. Umožňují ukládat a volat metody jako objekty.

Hlavní účel delegátů:

  • Umožňují implementaci zpětných volání (callbacks)
  • Poskytují flexibilitu při volání metod, například pro události a zpracování asynchronních operací
  • Používají se k implementaci modelu založeného na událostech

Příklad delegáta:

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

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

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

Zde může delegát Notify odkazovat na jakoukoli metodu, která přijímá řetězec a nic nevrací.