Junior — Middle
Објасните концепт делегата у језику C# и њихову главну намјену.
sobes.tech АИ
Одговор од АИ
Delegati u C# su tipovi koji predstavljaju reference na metode sa određenom potpisom i povratnom vrednošću. Oni omogućavaju skladištenje i pozivanje metoda kao objekata.
Glavna svrha delegata:
- Omogućavaju implementaciju povratnih poziva (callbacks)
- Obezbeđuju fleksibilnost pri pozivanju metoda, na primer, za događaje i obradu asinhronih operacija
- Koriste se za implementaciju modela zasnovanog na događajima
Primer delegata:
// Deklaracija delegata
public delegate void Notify(string message);
class Program
{
static void Main()
{
Notify notifyHandler = ShowMessage;
notifyHandler("Zdravo, delegati!");
}
static void ShowMessage(string msg)
{
Console.WriteLine(msg);
}
}
Ovde, delegat Notify može da se odnosi na bilo koju metodu koja prihvata string i ništa ne vraća.