Olá escavadores de bits! C# é uma linguagem fortemente tipada e com isso um dos…
C# – Declarando variáveis com o tipo dynamic2 min read
Categoria: C#
Olá escavadores de bits! Hoje, irei comentar sobre um recurso bem interessante do C#.NET : o tipo dynamic. Este recurso foi introduzido no Visual C# 2010 e fornece uma variável com tipo dinâmico, ou seja, você pode mudar o tipo da variável em runtime!
Como mudar o tipo de uma variável já declarada?
Parece estranho isso, mas na plataforma .NET isso é possível. Apesar de ser um recurso, a princípio interessante, não é recomendado você utilizar sempre este recurso, já que o programa perderá os benefício de verificação em tempo de compilação e também será muito mais lento. Além disso, por questões de segurança e qualidade no desenvolvimento de software, principalmente em equipes de desenvolvimento grande, é recomendado sempre a utilização de tipos definidos.
Exemplo: a “mágica” da definição de tipo em runtime
Abaixo você verá um código que mostra o funcionamento deste recurso. Copie e cole o código abaixo em um projeto Console Application:
static void Main(string[] args)
{
dynamic variavelTipoDinamico = 0;
Console.WriteLine("Eu sou do tipo:" + variavelTipoDinamico.GetType());
variavelTipoDinamico = "CriarProgramas.com";
Console.WriteLine("Mudei meu tipo:" + variavelTipoDinamico.GetType());
Console.ReadKey();
}
Saída:
Observe que inicialmente a variável recebe o valor inteiro 0, e seu tipo é inteiro. Depois é atribuído a mesma variável uma string e seu tipo é alterado em tempo de execução. Observe também, que eu utilizei um método chamado GetType() (reflection) para capturar o tipo da variável, apesar do tipo dynamic não ter esse método.
Resumo
É um recurso interessante, mas que deve ser usado com cautela, já que uma variável de tipo dinâmico pode assumir qualquer valor de qualquer tipo que possamos imaginar e isso nem sempre e bom :-(.