Sobes.tech
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.