Was ist ein guter Anwendungsfall für .NET 4.0 Expression Trees?

.net expression-trees linq

Frage

Dieser wurde von meinem Sprach-Guru-Mitarbeiter inspiriert, der keinen guten Nutzen für sie zu finden scheint, und nach ein paar lahmen eigenen Versuchen würde ich dem zustimmen müssen.

Jetzt weiß ich, dass diese Konzepte viel leichter fließen, wenn Sie ein paar gute praktische Gründe haben.

Momentan scheint es, als ob der einzige Zweck darin besteht, Ihnen zu erlauben, einen Linq-Provider zu schreiben.

Ist es das?? Gibt es noch andere Vorteile?

Akzeptierte Antwort

Ausdrucksbaum sind so mächtig, weil Sie Code wie Daten behandeln können . Benutzer sind daran gewöhnt, Daten zu sammeln, zu speichern und später darauf zurückzukommen.

Mit den Ausdrucksbäumen können Sie dasselbe mit Code tun. Beispielsweise können Sie die Eingaben Ihres Benutzers (Kontrollkästchen, Nummernkreise usw.) übernehmen und in einen Ausdrucksbaum übersetzen. Dieser Ausdrucksbaum kann dann ausgeführt oder für die spätere Verwendung gespeichert werden. Sehr cool.

Stellen Sie sich die praktischen Anwendungen rund um das Erstellen von Berichten wie das Erstellen und Speichern von Datenfiltern und Datenzuordnungen vor. Eine weitere praktische Anwendung wäre die Unterstützung von benutzerdefinierten Arbeitsabläufen in Ihrer Anwendung basierend auf benutzerdefinierten Regeln.

Hier ist ein bisschen MSDN-Code zum Serialisieren von Ausdrucksbäumen ( http://code.msdn.microsoft.com/exprerserialization ), der die Ideen fließen lassen sollte.


Beliebte Antwort

Sie können mit Ausdrucksbaumänen eine Domänensprache in ausführbaren Code umwandeln.




Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum