árvores de expressão em .NET - Bibliotecas? [fechadas]
-
19-08-2019 - |
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?
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.