Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Lesedauer 2 Min.

Erklärt: Closures in C#

Anhand von mehreren Beispielen erklärt Softwareentwickler Mark Pelf auf CodeProject die Arbeit mit C# Closures in Theorie und Praxis.
Closures werden erstellt, wenn man innerhalb einer Funktion/Methode in C# eine Variable aus dem "above scope" referenzieren und dann diese Funktion als Delegat weitergeben. Die Variable aus dem "oberen Bereich" wird mit dem Funktionsdelegat weitergegeben. Stellt der Compiler fest, dass eine Funktion auf die Variable aus dem "darüberliegenden Bereich" zugreift, erstellt er einen Datensatz, in dem er erstens die betreffende Funktion und zweitens die Variable aus dem "darüberliegenden Bereich" (die "gefangene" Variable) speichert und sie zusammen weitergibt.Closures sind knifflig und manchmal schwer zu verstehen. Jeder ambitionierte C#-Entwickler sollte damit vertraut sein, entweder um sie zu verwenden oder um den Code anderer Leute kompetent lesen und debuggen zu können. Closures bieten eine ausgefallene Kapselung in Form einer "gefangenen Variablen", die nicht so leicht zu verstehen ist. Das Tutorial von Mark Pelf versucht, Closures zu erklären und eine ausreichende Anzahl von Beispielen zu liefern. Zielpublikum sind fortgeschrittene C#-Entwickler.
Miscellaneous

Neueste Beiträge

SignalRC WebRTC - Der DDC-Truck, Teil 3
WebRTC ist als Tool ideal geeignet, um Videodaten von RC-Modellen in Echtzeit zu übertragen.
7 Minuten
Vektorfunktionen mit pgvector in PostgreSQL - Indizes & Co. in PostgreSQL, Teil 6
Bei der Vektorsuche legt PostgreSQL mit pgvector den Schwerpunkt auf Kombinierbarkeit: Vektoren werden zu sortierbaren Werten, <-> wird zu einem erstklassigen Ordnungsoperator und HNSW wird zu einer weiteren Indexzugriffsmethode, die der Planer berücksichtigen kann.
6 Minuten
Räumliche Daten mit PostGIS in PostgreSQL - Indizes & Co. in PostgreSQL, Teil 5
Funktionen wie generierte Spalten, LATERAL-Joins und indexbewusste Operatoren ermöglichen in PostGIS räumliche Abfragen, die auch bei zunehmender Komplexität deklarativ, lesbar und performant bleiben.
6 Minuten

Das könnte Dich auch interessieren

Elektronische Schaltkreise im Browser simulieren - Simulation
Statt mit Steckfeld oder Lötkolben kann man auf dieser Website Schaltungen per Drag and Drop zusammenstellen und deren Verhalten testen.
2 Minuten
26. Jul 2018
UIs für Linux - Bedienoberflächen entwickeln mithilfe von C#, .NET und Avalonia
Es gibt viele UI-Frameworks für .NET, doch nur sehr wenige davon unterstützen Linux. Avalonia schafft als etabliertes Open-Source-Projekt Abhilfe.
16 Minuten
16. Jun 2025
C#-.NET-Apps mit WinUI 3 - Komponentenbasierte Apps mit Fluent/FAST, Teil 3
Microsoft macht mit WinUI 3 ein natives User-Experience-Framework für Windows verfügbar, dessen Komponenten auf dem Microsoft-eigenen Design-System Fluent 2 basieren.
23 Minuten
13. Mai 2024
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige