C#-Entwicklern dürfte die Verwendung von Delegaten und benannten Methoden zur Implementierung einer breiten Palette von Funktionen, besonders von Ereignissen, bereits vertraut sein. Das Benennen und Anwenden eines Delegaten erfordert in C# 1.1 den Delegaten, eine Methode mit einer passenden Signatur, die ausgeführt wird, wenn der Delegat ausgelöst wird, sowie eine Zuweisungsanweisung, durch die der Delegat mit der benannten Methode verbunden ist. In C# 2.0 können jetzt anonyme Methoden im Grunde dieselben Aufgaben übernehmen, die zuvor der bezeichneten Methode zufielen. Dazu muss die Methode aber nicht speziell geschaffen werden, bevor sie einem Delegaten zugewiesen wird.
Anonyme Methoden sind eine Art Kurzschrift zur Durchführung von Funktionen, die mit einem Delegaten assoziiert sind. Wenn man die aus der Durchführung mit einer anonymen Methode entstandene und die aus einer benannten Methode resultierende Zwischensprache betrachtet, gibt es wenig Unterschiede. Wenn der Compiler auf eine anonyme Methode trifft, schafft er eine benannte Methode innerhalb der Klasse und assoziiert sie mit dem Delegaten. Anonyme Methoden verhalten sich in der Ausführung also ganz ähnlich wie benannte Methoden – der Leistungszuwachs liegt in der Produktivitätssteigerung des Entwicklers, nicht bei der Ausführung der Anwendung.
Wie man anonyme Methoden einsetzt
Anonyme Methoden sind mit Code leichter zu erklären und zu begreifen als mit Worten. Die folgenden Beispiele sollen demonstrieren, wie man sich anonyme Methoden zunutze machen kann.
Bösartige QR-Codes, die per E-Mail versendet werden, eignen sich sehr gut, um Spam-Filter zu umgehen.
Unsichere Websites und Phishing-Mails in Verbindung mit Black Friday können kauffreudigen Konsumenten zum Verhängnis werden.
Malware SmokeLoader wird weiterhin von Bedrohungsakteuren genutzt, um Payloads über neue C2-Infrastrukturen zu verbreiten.
Bankhaus Metzler und Telekom-Tochter MMS testen, inwieweit Bitcoin-Miner das deutsche Stromnetz stabilisieren könnten.
Mit 1,7 Exaflops ist El Capitan nun der dritte Exascale-Supercomputer weltweit. Deutschland stellt erneut den…
Der deutsche Hyperscaler erweitert sein Server-Portfolio um vier Angebote mit den neuen AMD EPYC 4004…