Domanda

Di recente ho scritto uno strumento di query dinamica usando alberi delle espressioni e mentre procedevo, il potere degli alberi delle espressioni ha cominciato a sorgere su di me. Il mio strumento di query potrebbe anche costituire la base di uno strumento di reporting, un motore di decisione dinamico e forse altri casi in cui è necessario lavorare con oggetti dinamici in modo astratto.

Il processo è stato doloroso (richiami ricorsivi a metodi generici mediante riflessione - ugh) quindi mi chiedo se qualcuno abbia creato una biblioteca generica che potrebbe sfruttare il potere degli alberi delle espressioni per svolgere alcuni di questi tipi di compiti? Ho visto PredicateBuilder ma qualcuno ne conosce altri?

È stato utile?

Soluzione

Operatori generici (in MiscUtil ) è un bit di codice abbastanza ben utilizzato basato sugli alberi delle espressioni; molto semplice, ma molto versatile. Alcune altre idee:

(molti altri)

Altri suggerimenti

Hai guardato il DLR? Non ne so molto in dettaglio, ma la mia comprensione è che il meccanismo dell'albero delle espressioni che è dietro le quinte in Linq-to-SQL è stato effettivamente pubblicato nel DLR.

NJection è una libreria che si occupa dell'iniezione di codice attraverso i file di configurazione.
NJection.LambdaConverter è una libreria che trasforma i delegati in alberi di espressioni.

Hai guardato LINQ e l'interfaccia IQueryable? È così che hanno implementato LINQ to SQL, ecc.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top