C # Tipos dinâmicos

5

Acabei de ler um capítulo em um livro de programação sobre tipos dinâmicos. Embora sejam bem legais, não consigo pensar em um único exemplo do mundo real em que eu os usaria. Alguém aqui realmente os usa e para quê?

    
por Tom Squires 02.08.2011 / 10:33
fonte

3 respostas

5

Eu usei dynamic para avaliar expressões lógicas representadas em um gráfico de objeto, onde usar a palavra-chave dynamic me permitiu ignorar amplamente os tipos de operandos.

Por exemplo, se meu gráfico de expressão fosse uma expressão aritmética com um operador de multiplicação (por exemplo, 12 * 1.3 ), usaria dynamic para armazenar os operandos 12 e 1.3 e dynamic novamente para capturar o resultado da multiplicação.

Sem dynamic eu seria forçado a lidar com tipos numéricos concretos ( int / long / decimal / float , etc ...) e o código resultante incha. Minha solução dynamic requer muito pouco código e é muito mais fácil de entender e manter.

Minha ideia inicial era transformar minhas expressões lógicas em trechos de Python ou Ruby, depois executar esses trechos por meio de IronPython ou IronRuby para avaliar o resultado. Pareceu-me tudo o que eu precisava do Python ou Ruby era a sua digitação dinâmica, por isso fiquei muito feliz em ver que dynamic oferece digitação do tipo Python para C #.

    
por 02.08.2011 / 13:26
fonte
1

Além das respostas anteriores relacionadas a linguagens dinâmicas, a digitação dinâmica em C # também facilita bastante a dor ao realizar interopções COM - por exemplo, consulte este artigo do MSDN ou role para baixo até a parte inferior do is posto no blog de Chris Burrows .

    
por 02.08.2011 / 17:48
fonte
-1

I cant think of a single real world example where I would use them

É uma estrutura, nem sempre é sobre você. No caso de dynamic , o apoio veio da necessidade de suportar linguagens mais dinâmicas no CLR, como F # ou IronPython. O fato de ajudar a reduzir o código de outras maneiras é um bônus adicional.

    
por 02.08.2011 / 13:24
fonte