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

JSON mit T-SQL auswerten - Neues in SQL Server 2025, Teil 2
Die JSON-Unterstützung in SQL Server 2025 erweitert das relationale Modell um die direkte Verarbeitung dokumentbasierter Daten.
6 Minuten
13. Mai 2026
HMAC mit C# und T-SQL - Neues in SQL Server 2025, Teil 3
Kompatible Signaturberechnung über Systemgrenzen hinweg.
4 Minuten
20. Mai 2026
Vom Python-Modell zur .NET-Anwendung - .NET, Python und KI, Teil 4
Am Szenario einer Sentiment-Analyse verdeutlicht ein durchgängiges Anwendungsbeispiel, wie aus einem isolierten Data-Science-Ergebnis eine konkret genutzte Funktion innerhalb einer .NET-Business-Anwendung entsteht.
7 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
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
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
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige