Pergunta

Eu recentemente escrevi uma ferramenta de consulta dinâmica usando árvores de expressão e como eu fui o poder de árvores de expressão começou a nascer em mim. Minha ferramenta de consulta também pode formar a base de uma ferramenta de comunicação, um motor de decisão dinâmica e talvez outros casos em que você precisa para trabalhar com objetos dinâmicos em formas abstratas.

O processo tem sido dolorosas (chamadas recursivas para métodos genéricos por reflexão - ugh) assim que eu estou querendo saber se alguém criou uma biblioteca genérica que pode aproveitar o poder de árvores de expressão para realizar alguns desses tipos de tarefas? Eu vi PredicateBuilder mas alguém sabe de quaisquer outros?

Foi útil?

Solução

operadores genérico (em MiscUtil ) é um pouco muito bem utilizado de código baseado em árvores de expressão; muito simples, mas muito versátil. Algumas outras idéias:

(lotes de outros)

Outras dicas

Você olhou para o DLR? Eu não sei muito sobre isso em detalhes, mas o meu entendimento é que o mecanismo de expressão-árvore que está por trás das cenas em Linq-to-SQL tem sido efetivamente publicados no DLR.

NJection é uma biblioteca que lida com a injeção de código através de arquivos de configuração.
NJection.LambdaConverter é uma biblioteca que transforma delegados para árvores de expressão.

Você já olhou para LINQ e interface IQueryable? É assim que eles implementado LINQ to SQL, etc.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top