2008-12-04 6 views
6

J'ai récemment écrit un outil d'interrogation dynamique en utilisant des arbres d'expression et, au fur et à mesure, la puissance des arbres d'expression a commencé à poindre sur moi. Mon outil d'interrogation pourrait également constituer la base d'un outil de reporting, d'un moteur de décision dynamique et peut-être d'autres cas où vous devez travailler avec des objets dynamiques de manière abstraite. Le processus a été douloureux (appels récursifs à des méthodes génériques par réflexion - pouah) alors je me demande si quelqu'un a créé une bibliothèque générique qui pourrait exploiter la puissance des arbres d'expression pour accomplir certaines de ces sortes de tâches? J'ai vu PredicateBuilder mais est-ce que quelqu'un en connaît d'autres?Arbres d'expression dans .NET - Bibliothèques?

Répondre

0

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

1

Avez-vous regardé le DLR? Je ne sais pas grand-chose à ce sujet en détail, mais je crois comprendre que le mécanisme de l'arbre d'expression qui est derrière les coulisses de Linq-to-SQL a effectivement été publié dans le DLR.

+0

Non, ce n'est pas vrai. Il semble similaire, mais le DLR est de loin inférieur. – leppie

+0

Les arbres DLR partagent beaucoup de terrain d'entente avec Expression, et IIRC ils sont un peu plus fusionnés dans CTP .NET 4.0. –

1

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

Questions connexes