O que é a expressão LINQ max As árvores podem fazer?
-
07-07-2019 - |
Pergunta
O que é o maximun essa expressão LINQ árvore pode fazer?
É possível que definir uma classe? Como cerca de um método, com todo o nome declarado, modificadores, ParameterType e tipo de retorno?
Deve o programa sempre definir a si mesmo árvore? É possível gerar a árvore de um determinado arquivo de C #?
Onde posso obter recursos para aprender sobre a escrita básica para Expression avançada Árvore e Expressão Árvore visitante? (Artigos e vídeos será grande)
Obrigado por aqueles que são capazes de ajudar ...
Solução
Em C # 3, árvores de expressão pode representar expressões . Daí o nome. E eles são ainda mais restrita a um subconjunto de # expressões C -. Há expressões de atribuição, há expressões que envolvem tipos de ponteiro, e assim por diante
Nas bibliotecas que acompanham o C # 4, nós estendemos a árvore de expressão biblioteca para apoiar também árvores de instrução. No entanto, C # 4 não irá traduzir automaticamente uma declaração-lambda em uma "árvore de afirmações".
Essa é uma característica óbvia e útil que nós simplesmente não têm tempo para chegar a para C # 4. Vamos considerá-lo para futuras versões hipotéticas. Se você tem realmente um grande cenário de usuário para árvores de instrução, eu adoraria ouvi-lo.
A nova prorrogação óbvio para todos que é árvores de declaração, o que representaria declarações de classes, declarações struct, e assim por diante. Tendo homoiconicity Total entre a linguagem C # ea biblioteca árvore de expressão seria fantástico. Seria permitir que todos os tipos de cenários de metaprogramação interessantes. Mas isso não vai acontecer tão cedo, por isso não tenha muitas esperanças. Isso é mais de um sonho a longo prazo da mina que nunca poderia acontecer.
Outras dicas
Árvores de expressão:
http://www.interact-sw.co .uk / iangblog / 2005/09/30 / expressiontrees
http://www.davidhayden.com/blog/ dave / Arquivo / 2006/12/18 / ExpressionTrees.aspx
http://msdn.microsoft.com/en-us/library/bb397951. aspx
http://community.bartdesmet.net/blogs/bart/archive/2006/11/22/Getting-started-with-C_2300_-3.0-Expression-Trees.aspx
http: // blah .winsmarts.com / 2006/05/23 / desmistificando-c-30 - parte-7-expressão-trees.aspx
padrão de Visitante:
http://www.dofactory.com/Patterns/PatternVisitor.aspx
http://en.wikipedia.org/wiki/Visitor_pattern