Question

J'ai récemment écrit un outil d'interrogation dynamique utilisant des arbres d'expression et le pouvoir des arbres d'expression a commencé à se faire jour. Mon outil de requête pourrait également constituer la base d'un outil de génération de rapports, d'un moteur de décision dynamique et peut-être d'autres cas dans lesquels vous devez utiliser des objets dynamiques de manière abstraite.

Le processus a été pénible (appels récursifs aux méthodes génériques par réflexion). Je me demande donc si quelqu'un a créé une bibliothèque générique qui pourrait exploiter le pouvoir des arbres d'expression pour accomplir certaines de ces tâches. J'ai vu PredicateBuilder , mais est-ce que quelqu'un en connaît d'autres?

Était-ce utile?

La solution

Opérateurs génériques (in MiscUtil ) est un élément de code très bien utilisé, basé sur des arbres d'expression; très simple, mais très polyvalent. Quelques autres idées:

(beaucoup d'autres)

Autres conseils

Avez-vous regardé le DLR? Je ne connais pas grand chose à ce sujet en détail, mais je crois comprendre que le mécanisme d'arborescence des expressions utilisé dans les coulisses de Linq-to-SQL a bien été publié dans le DLR.

NJection est une bibliothèque qui traite l'injection de code dans les fichiers de configuration.
La NJection.LambdaConverter est une bibliothèque qui transforme les délégués en arborescences d'expression.

Avez-vous examiné LINQ et l'interface IQueryable? C’est ainsi qu’ils ont implémenté LINQ to SQL, etc.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top