Quel est le bon cas d’utilisation pour .net 4.0 Expression Trees?

.net expression-trees linq

Question

Celui-ci a été inspiré par mon collègue gourou de la langue, qui ne semble pas pouvoir leur trouver un bon usage, et après quelques tentatives boiteuses de ma part, je suis d'accord.

Maintenant, je sais que ces concepts ont tendance à s'écouler beaucoup plus facilement une fois que vous obtenez de bonnes raisons pratiques.

À l'heure actuelle, il semble que son seul objectif est de vous permettre d'écrire un fournisseur Linq?

Est-ce que c'est ça?? Y at-il d'autres avantages à cela?

Réponse acceptée

Les arbres d’expression sont si puissants parce qu’ils vous permettent de traiter le code comme des données . Les utilisateurs sont habitués à créer des données, à les sauvegarder et à y revenir plus tard.

Les arbres d'expression vous permettent de faire la même chose avec le code. Par exemple, vous pouvez utiliser les entrées de votre utilisateur (cases à cocher, tranches de numéros, etc.) et les traduire en un arbre d'expression. Cet arbre d'expression peut ensuite être exécuté ou stocké pour une utilisation ultérieure. Très sympa.

Pensez aux utilisations pratiques des rapports, telles que la création et la sauvegarde de filtres de données et de mappages de données. Une autre utilisation pratique consisterait à prendre en charge des flux de travail personnalisés dans votre application en fonction de règles définies par l'utilisateur.

Voici un peu de code MSDN sur la sérialisation des arbres d’expression ( http://code.msdn.microsoft.com/exprserialization ) qui devrait permettre aux idées de circuler.


Réponse populaire

Vous pouvez utiliser les arbres d'expression pour transformer une langue de domaine en code exécutable.




Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi