using System; namespace _15_Delegates { // Publisher des Events / Observable internal class Button { public event EventHandler? OnClick; // Um ein Event zu deklarieren wird das 'event'-Schlüsselwort verwendet. public string Text { get; set; } // Wird auf einen Button geklickt, wird diese Methode ausgeführt: public void Click() { Console.WriteLine("Es wurde auf den Button geklickt..."); OnClick?.Invoke(this, EventArgs.Empty); // Das Event wird nach einer Prüfung auf Null mit Invoke() ausgelöst. // Eine Null-Prüfung ist bei Events wichtig, da es sonst zu NullReferenceExceptions kommen kann. } } }