Junior — Middle
Wyjaśnij koncepcję delegatów w języku C# i ich główne przeznaczenie.
sobes.tech AI
Odpowiedź od AI
Delegaty w C# to typy reprezentujące odwołania do metod o określonej sygnaturze i wartości zwrotnej. Pozwalają na przechowywanie i wywoływanie metod jako obiektów.
Głównym celem delegatów jest:
- Umożliwienie implementacji wywołań zwrotnych (callbacks)
- Zapewnienie elastyczności przy wywoływaniu metod, np. dla zdarzeń i obsługi operacji asynchronicznych
- Służą do implementacji modelu opartego na zdarzeniach
Przykład delegata:
// Deklaracja delegata
public delegate void Notify(string message);
class Program
{
static void Main()
{
Notify notifyHandler = ShowMessage;
notifyHandler("Witaj, delegaty!");
}
static void ShowMessage(string msg)
{
Console.WriteLine(msg);
}
}
Tutaj delegat Notify może odwoływać się do dowolnej metody przyjmującej łańcuch znaków i nic nie zwracającej.