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 ...

Foi útil?

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.

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