Markieren Sie das Kontrollkästchen Englisch, um die englische Version dieses Artikels anzuzeigen. Sie können den englischen Text auch in einem Popup-Fenster einblenden, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Gewusst wie: Verbinden von Ereignishandlermethoden mit Ereignissen

Um in einer anderen Klasse definierte Ereignisse zu verarbeiten, müssen Sie einen Ereignishandler definieren und registrieren. Der Ereignishandler muss dieselbe Methodensignatur wie der für das Ereignis deklarierte Delegat aufweisen. Registrieren Sie den Ereignishandler, indem Sie dem Ereignis den Handler hinzufügen. Wenn Sie dem Ereignis den Ereignishandler hinzugefügt haben, wird die Methode immer dann aufgerufen, wenn die Klasse das Ereignis auslöst.

Ein vollständiges Beispiel, das die Auslösung und Behandlung von Ereignissen illustriert, finden Sie unter Gewusst wie: Auslösen und Behandeln von Ereignissen.

So fügen Sie einem Ereignis eine Ereignishandlermethode hinzu

  • Definieren Sie eine Ereignishandlermethode, die dieselbe Signatur wie der Delegat des Ereignisses aufweist.


public class WakeMeUp
{
    // AlarmRang has the same signature as AlarmEventHandler.
    public void AlarmRang(object sender, AlarmEventArgs e)
    {
        //...
    }
    //...
}


  1. Erstellen Sie unter Verwendung eines Verweises auf die Ereignishandlermethode eine Instanz des Delegaten. Wenn die Delegatinstanz aufgerufen wird, ruft diese die Ereignishandlermethode auf.


// Create an instance of WakeMeUp.
WakeMeUp w = new WakeMeUp();

// Instantiate the event delegate.
AlarmEventHandler alhandler = new AlarmEventHandler(w.AlarmRang);


  1. Fügen Sie dem Ereignis die Delegatinstanz hinzu. Wenn das Ereignis ausgelöst wird, wird die Delegatinstanz mit der zugehörigen Ereignishandlermethode aufgerufen.


// Instantiate the event source.
AlarmClock clock = new AlarmClock();

// Add the delegate instance to the event.
clock.Alarm += alhandler;


Community-Beiträge

Anzeigen: