Talvez uma das novidades mais comentadas do novo C# seja o dinamismo acrescido à linguagem. Capaz de expor membros de classe (tais como propriedades ou métodos) em “run time” ao invés de “compile time”. Mas como isso funciona na prática? Vejamos o exemplo a seguir:
using System; using System.Dynamic; namespace VS2010.Console { class Program { static void Main(string[] args) { dynamic dyn = 1; object obj = 1; dyn = dyn + 3; obj = obj + 3; System.Console.WriteLine(dyn.GetType()); System.Console.WriteLine(obj.GetType()); System.Console.ReadKey(); } } }
Um erro de compilação ocorre na linha 14 indicando que não é possível a operação de soma de um inteiro com um object. Contudo o erro não ocorre na linha 13, porque a variável dyn foi declarada como dynamic e não é checada em tempo de compilação. Esse recurso é bem interessante, pois pode permitir acesso direto as propriedades do HTML DOM, por exemplo, usando a sua sintaxe. Esse tipo de conceito é bem familiar para desenvolvedores Ruby e Phyton e agora os desenvolvedores .NET poderão aprender esse novo paradigma de pogramação. Abaixo vemos um diagrama da arquitetura de linguagem dinâmica do .NET.
Comentários recentes