Anonyme Methoden in C# 2.0 verwenden

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.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Digitale Produkte „cyberfit“ machen

Vernetzte Produkte müssen laut Cyber Resilience Act über Möglichkeiten zur Datenverschlüsselung und Zugangsverwaltung verfügen.

4 Tagen ago

Google schließt schwerwiegende Sicherheitslücken in Chrome 131

Das jüngste Update für Windows, macOS und Linux stopft drei Löcher. Eine Anfälligkeit setzt Nutzer…

4 Tagen ago

Apple schließt Zero-Day-Lücken in iOS, iPadOS und macOS

Zwei von Google-Mitarbeitern entdeckte Schwachstellen werden bereits aktiv gegen Mac-Systeme mit Intel-Prozessoren eingesetzt. Sie erlauben…

4 Tagen ago

Gefährliche Anzeigen für Passwortmanager Bitwarden verbreiten Malware

Die Hintermänner haben es unter anderem auf Daten von Facebook-Geschäftskonten abgesehen. Opfer werden über angebliche…

5 Tagen ago

Public Cloud: Gartner erwartet 2025 weltweite Ausgaben von 723 Milliarden Dollar

Bis 2027 werden 90 Prozent der Unternehmen eine Hybrid-Cloud-Strategie umsetzen.

5 Tagen ago

iPhone 15 ist bestverkauftes Smartphone im dritten Quartal

Apple belegt in der Statistik von Counterpoint die ersten drei Plätze. Samsungs Galaxy S24 schafft…

5 Tagen ago