BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias LINQ e Tipagem Dinâmica

LINQ e Tipagem Dinâmica

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

Conteúdo educacional

BT