Anonyme Methoden

Im vorangehenden Beispiel haben Sie das Event abonniert, indem Sie eine neue Instanz des Delegate erzeugt und den Namen einer Methode, die das Event implementiert, übergeben haben:

theClock.OnSecondChange +=
    new Clock.SecondChangeHandler(TimeHasChanged);

Sie können dieses Delegate auch mit folgender verkürzter Schreibweise zuweisen:

theClock.OnSecondChange += TimeHasChanged;

Weiter unten im Code müssen Sie TimeHasChanged als eine Methode definieren, die mit der Signatur des Delegate SecondChangeHandler übereinstimmt:

public void TimeHasChanged(object theClock, TimeInfoEventArgs ti)
{
    Console.WriteLine("Aktuelle Uhrzeit: {0}:{1}:{2}",
                       ti.Hour.ToString(  ),
                       ti.Minute.ToString(  ),
                       ti.=Second.ToString(  ));
}

C# bietet anonyme Methoden an, ...

Get Programmieren mit C# 3.0 now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.