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

Zwei Konferenz-Openings, eine Sprecherin – wie aus einem Terminkonflikt ein KI-Usecase wurde - Making-of eines Avatars mit HeyGen und ElevenLabs
Ein Terminkonflikt gelöst von einem digitalen Zwilling. Die Ebner Media Group hat die erste Infinite AI Conference von einem Avatar eröffnen lassen. Ein Erfahrungsbericht über den Produktionsprozess und den echten Nutzen synthetischer Präsenz.
7 Minuten
12. Aug 2026
MessagePack: JSON als Binär-Image - Best of NuGet, Teil 10
Das Serialisierungsformat MessagePack wurde – anders als JSON – konsequent auf die Bedürfnisse von Maschinen und damit auch auf höchstmögliche Kompaktheit optimiert. Der Vorteil: Ein geringeres zu übertragendes Datenvolumen führt vor allem in IoT-nahen Anwendungen direkt zu geringeren Kosten.
6 Minuten
17. Aug 2026
"Menschen erzählen Geschichten, keine CRUD-Operationen" - Interview
Event Sourcing gilt als kompliziert. Golo Roden von native web GmbH erklärt im DWX-Interview, warum das ein Missverständnis ist – und warum das Konzept das perfekte Fundament für KI-Projekte liefert.
19. Aug 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
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
Stark beschränkt - Native-AOT-Kompilierung mit Entity Framework Core 9.0
In Entity Framework Core 9.0 liefert Microsoft erstmals eine Unterstützung für den Native-AOT-Compiler mit, die aber leider noch geringen praktischen Nutzen hat.
7 Minuten
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige