Junior — Middle
Објасните сврху и рад делегата у контексту програмирања у C#.
sobes.tech АИ
Одговор од АИ
Delegati u C# su tipovi koji predstavljaju reference na metode sa određenom potpisom. Oni omogućavaju pozivanje metoda indirektno, prosleđivanje kao parametara i implementaciju povratnih poziva.
Glavne tačke:
- Delegat definiše potpis metode (tipove parametara i povratnu vrednost).
- Može se dodeliti bilo koja metoda sa kompatibilnim potpisom delegatu.
- Omogućavaju implementaciju događaja i obrasca posmatrača.
Primer:
public delegate void Notify(string message);
public class Process
{
public Notify OnCompleted;
public void Start()
{
// ... rad
OnCompleted?.Invoke("Proces je završen");
}
}
Ovde, delegat Notify se koristi za obaveštavanje o završetku procesa.