Junior — Middle
Vysvětlete účel a fungování delegátů v kontextu programování v C#.
sobes.tech AI
Odpověď od AI
Delegáti v C# jsou typy, které představují odkazy na metody s určitým podpisem. Umožňují volat metody nepřímo, předávat je jako parametry a implementovat zpětné volání.
Hlavní body:
- Delegát definuje podpis metody (typy parametrů a návratová hodnota).
- Lze přiřadit jakoukoli metodu s kompatibilním podpisem delegátu.
- Umožňují implementaci událostí a vzoru pozorovatele.
Příklad:
public delegate void Notify(string message);
public class Process
{
public Notify OnCompleted;
public void Start()
{
// ... práce
OnCompleted?.Invoke("Proces dokončen");
}
}
Zde je delegát Notify použit k oznámení o dokončení procesu.