Junior — Middle
Jak odbywa się rejestracja na wydarzenie, aby je otrzymać?
sobes.tech AI
Odpowiedź od AI
W C# rejestracja na zdarzenie odbywa się za pomocą operatora +=, który dodaje obsługę (delegat) do zdarzenia. Obsługa to metoda, która zostanie wywołana, gdy zdarzenie wystąpi.
Przykład:
public class Publisher
{
public event EventHandler MyEvent;
public void RaiseEvent()
{
MyEvent?.Invoke(this, EventArgs.Empty);
}
}
public class Subscriber
{
public void OnMyEvent(object sender, EventArgs e)
{
Console.WriteLine("Zdarzenie odebrane");
}
}
// Użycie:
var publisher = new Publisher();
var subscriber = new Subscriber();
publisher.MyEvent += subscriber.OnMyEvent; // rejestracja obsługi
publisher.RaiseEvent(); // wywoła OnMyEvent
Aby więc odebrać zdarzenie, trzeba się na nie zapisać, dodając metodę obsługi do zdarzenia.