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í.