Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Lesedauer 3 Min.

CSharp-Lambda-Ausdrücke übersetzen

Die Idee: C#-Lambda-Ausdrücke in Klassen übersetzen und die Daten kapseln, die zum Filtern von Daten und zum Erstellen von Abfragezeichenfolgen geeignet sind.
C#-Lambda-Ausdrücke bieten eine bequeme und prägnante Möglichkeit, eine Bedingung für die Filterung fast aller Arten von Daten in einem C#-Programm zu beschreiben. Die Konvertierung eines bestimmten Lambda-Ausdrucks in andere Formen, die in anderen Domänen verwendet werden, wie beispielsweise eine HTTP-Anforderung, kann jedoch mühsam und trickreich sein. Der Artikel von Kamran Saeedi will eine Lösung für dieses Problem mit der ExpressionVisitor-Klasse des .NET-Frameworks aufzeigen.Es ist relativ üblich, einen Mechanismus zur Konvertierung von in Code ausgedrückten Geschäftsbedingungen in ein Format aufzubauen, das von anderen Ebenen einer Lösung, sei es eine Datenbank oder ein Webdienst, verwendet werden kann, insbesondere in den Infrastrukturebenen einer Lösung. Zwei Beispiel-Szenarien: Angenommen, Sie wollen Filterbedingungen aus einem C#-Client an einen HTTP-Dienst übergeben. Diese Bedingungen können in einer Query-String-Sammlung gesendet werden, aber das manuelle Konstruieren von Query-Strings durch String-Verkettung erscheint nicht nur nicht schön und sauber, sondern wäre höchstwahrscheinlich auch schwer zu debuggen und zu warten.Es kann vorkommen, dass Sie Filterbedingungen in SQL-WHERE-Klauseln übersetzen möchten, ohne ein ORM-Tool zu verwenden. Auch hier scheint die Konstruktion von SQL-WHERE-Klauseln für Datenbankabfragen durch manuelle String-Manipulation fehleranfällig und schwer zu warten zu sein.Als elegantes Werkzeug bieten Lambda-Ausdrücke ein prägnantes und bequemes Mittel zur Beschreibung von Filterbedingungen, aber die Arbeit mit diesen Ausdrücken ist nicht sehr einfach. Glücklicherweise ist die ExpressionVisitor-Klasse im Namensraum System.Linq.Expressions ein ausgezeichnetes Werkzeug zum Inspizieren, Modifizieren und Übersetzen von Lambda-Ausdrücken. Der Artikel von Kamran Saeedi auf CodeProject verwendet die Klasse ExpressionVisitor, um eine Lösung für das erste der oben genannten Szenarien vorzuschlagen.
Miscellaneous

Neueste Beiträge

Commands in SignalRC - Der DDC-Truck, Teil 5
Durch das Zusammenspiel verschiedener Entwicklungsmuster lassen sich interessante Verhaltensweisen für die Steuerung von RC-Modellen aufbauen.
8 Minuten
19. Feb 2026
Die Suche nach Texten - Acht Kostbarkeiten in T-SQL, Teil 7
Suchen, bis die Server schwitzen? Wer versteht, wie der SQL Server denkt, wird bessere Ergebnisse und bessere Performance erzielen.
7 Minuten
16. Feb 2026
Die ganze Welt der Softwareentwicklung
Ein riesiges Angebot an Wissen, das von Expert:innen lebendig vermittelt wird, gewürzt mit Kontakt zu Gleichdenkenden – das ist der Kern der DWX.
6 Minuten
19. Feb 2026

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