Wie bei benannten Methoden können auch mehrere anonyme Methoden mit demselben Delegaten assoziiert werden. Außerdem ist es möglich, einem Delegaten eine anonyme und eine benannte Methode zuzuordnen. Das kann in vielen Situationen nützlich sein – zum Beispiel beim Hinzufügen eines einfachen Steuerungsprogramms zu einem Tastendruck-Ereignis.
Der folgende Code zeigt einen Delegaten, dem sowohl eine anonyme als auch eine benannte Methode zugeordnet sind:
Beispiel 5: Anonyme Methoden als Parameter angeben
Wie benannte Methoden können auch anonyme Methoden als Parameter an eine Funktion gegeben werden. Dies ist keine Funktion, von der ein regelmäßiger Gebrauch anzunehmen ist, ein Bedarf wird aber sicher entstehen. Der folgende Code demonstriert die Funktionsweise und zudem, wie eine bezeichnete Methode als Parameter an eine Funktion weitergegeben wird:
Beispiel 6: Zugriff auf Klassenmitglieder
Das folgende ist eine Erweiterung des Beispiels 2 für den variablen Wirkungsbereich. Beispiel 6 zeigt, dass anonyme Methoden auch bezeichnete Methoden außerhalb ihres Codeblocks ausführen können, solange sich die benannte Methode dabei innerhalb des Wirkungsbereichs der anonymen Methode befindet:
Hier wird der mit der anonymen Methode assoziierte Delegat zweimal aufgerufen. Bei diesen Aufrufen gibt die Methode jeweils unterschiedliche Werte aus. Dies liegt daran, dass die äußeren Variablen, die in einer anonymen Methode verwendet werden, zum Zeitpunkt der Entstehung der anonymen Methode referenziert werden. Deswegen werden alle Veränderungen dieser Variablen widergespiegelt, wenn die anonyme Methode auf die Variablen zugreift.
Es fällt vielleicht auf, dass in diesem Fall keine Klammern hinter dem Schlüsselwort des Delegaten stehen. Wenn eine anonyme Methode keine Parameter benötigt, sind die Klammern optional.
Fazit
Der Artikel hat hoffentlich verständlich erklärt, wie man anonyme Methoden einsetzt. Sie sind sicher nicht revolutionär, aber doch ein wichtiger Schritt in der Weiterentwicklung von C#, das damit eine noch anwenderfreundlichere Programmierprache wird.
Neueste Kommentare
Noch keine Kommentare zu Anonyme Methoden in C# 2.0 verwenden
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.