Junior — Middle
Wyjaśnij cel i działanie delegatów w kontekście programowania w C#.
sobes.tech AI
Odpowiedź od AI
Delegaty w C# to typy, które reprezentują odwołania do metod o określonej sygnaturze. Pozwalają wywoływać metody pośrednio, przekazywać je jako parametry i implementować wywołania zwrotne.
Główne punkty:
- Delegat określa sygnaturę metody (typy parametrów i wartość zwracaną).
- Do delegata można przypisać dowolną metodę o pasującej sygnaturze.
- Umożliwiają implementację zdarzeń i wzorca obserwatora.
Przykład:
public delegate void Notify(string message);
public class Process
{
public Notify OnCompleted;
public void Start()
{
// ... praca
OnCompleted?.Invoke("Proces zakończony");
}
}
Tutaj delegat Notify służy do powiadamiania o zakończeniu procesu.