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?
6
A
Répondre
2
Generic operators (dans MiscUtil) est un bit assez bien utilisé de code basé sur des arbres d'expression; très simple, mais très polyvalent. D'autres idées:
(beaucoup d'autres)
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.
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
- 1. Meilleure bibliothèque .NET pour arbres
- 2. Bibliothèques personnalisées .Net?
- 3. Arbres dans Symfony
- 4. Bibliothèques d'impression .NET Compact Framework
- 5. Arbres de recherche binaire
- 6. Pourcentages et arbres
- 7. bibliothèques .NET pour travailler avec JSON
- 8. Bibliothèques de mouvements de souris pour .Net?
- 9. Comment emballez-vous les bibliothèques externes dans vos projets .Net?
- 10. Python: manipuler des sous-arbres
- 11. Énumérer les arbres de recherche
- 12. Unité des arbres d'expression d'essai
- 13. Bibliothèques tierces dans CMake
- 14. .NET Copie de bibliothèques tierces vers Bin \ Release
- 15. .net migration de grille distribuée, recommandations sur les bibliothèques, architecture
- 16. Bibliothèques de rendu de polices pour C#/dot-NET?
- 17. Arbres d'expression C# - Recherche de valeur dynamique
- 18. Les arbres d'expression LINQ Turing sont-ils complets?
- 19. Arbres de dessin en Common Lisp
- 20. Dans quelles instances les arbres d'expressions sont-ils utiles?
- 21. Drag & Drop-Adorner dans les arbres visuels profondément imbriqués
- 22. Meilleure façon d'appeler une méthode d'instance dans les arbres d'expression?
- 23. Symboles du compilateur conditionnel .NET et bibliothèques de tests unitaires
- 24. Y at-il un .net analogique aux bibliothèques Boost?
- 25. Bibliothèques de gestion des exceptions conviviales pour WinForms (.NET)
- 26. Existe-t-il des bibliothèques .NET Graphics Calculate?
- 27. Profiling Bibliothèques COM utilisées à partir d'une application .NET
- 28. Quelles bibliothèques FTP sont fournies avec .NET Framework?
- 29. HTML Parsing Bibliothèques pour
- 30. Comment expliquer les arbres de supervision d'Erlang?
Non, ce n'est pas vrai. Il semble similaire, mais le DLR est de loin inférieur. – leppie
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. –