BT

A sua opinião é importante! Por favor preencha a pesquisa do InfoQ!

LINQ e Tipagem Dinâmica

| por Jonathan Allen Seguir 195 Seguidores , traduzido por Douglas Masson Seguir 0 Seguidores em 18 dez 2008. Tempo estimado de leitura: 1 minuto |

A note to our readers: As per your request we have developed a set of features that allow you to reduce the noise, while not losing sight of anything that is important. Get email and web notifications by choosing the topics you are interested in.

A maior característica do C# 3 foi à tecnologia LINQ. Com o C# 4, parece que a tipagem dinâmica vai roubar a cena. Mas você pode usá-los juntos?

Dentre as principais funcionalidades do LINQ está a extensão de métodos. Extensão de métodos permite funcionalidades comuns serem adicionadas a interfaces como a IEnumerable. A Extensão de métodos é basicamente um truque do compilador que utiliza todos os namespaces importados localmente, combinada com a variável do tipo de static para determinar a função apropriada para chamar. Com as variáveis dinâmicas, os tipos de variáveis não sabem até no tempo de execução. Mas a essa altura, informações sobre os namespaces que foram importados estão muito longe.

Funções anônimas são todas importadas para LINQ. Funções anônimas são estaticamente compiladas em C# para uma função real usando o contexto de determinar qual tipo de parâmetro emitir. Sem um tipo conhecido, o compilador teria que emitir um tipo de parâmetros apenas do objeto, algo que normalmente não fazem.

Nenhuma destas limitações são insuperáveis. Não há qualquer razão para que o compilador não possa capturar o contexto de tempo de compilação necessário para determinar a qual o método de extensão vincular. Do mesmo modo, ele poderia emitir as funções anônimas do tipo do objeto e recorrer às chamadas dinâmicas dos métodos e invocação de propriedades. Mas as linguagens evoluem lentamente, e de acordo com Mads Torgersen não existem planos para dar respostas a estas limitações do C# 4.

Você pode descobrir mais sobre o Futuro C#em seu site.

Avalie esse artigo

Relevância
Estilo/Redação

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião

Faça seu login para melhorar sua experiência com o InfoQ e ter acesso a funcionalidades exclusivas


Esqueci minha senha

Follow

Siga seus tópicos e editores favoritos

Acompanhe e seja notificados sobre as mais importantes novidades do mundo do desenvolvimento de software.

Like

Mais interação, mais personalização

Crie seu próprio feed de novidades escolhendo os tópicos e pessoas que você gostaria de acompanhar.

Notifications

Fique por dentro das novidades!

Configure as notificações e acompanhe as novidades relacionada a tópicos, conteúdos e pessoas de seu interesse

BT