пятница, 27 января 2012 г.

Что такое dynamic, и с чем его едят.

Сегодня я хотел бы затронуть тему динамических типов в C# и ключевого слова dynamic.
Как известно, в .NET 3.0, C# обзавелся ключевым словом var, которое позволяет объявить локальную, неявно типизированную переменную.
var s = "String"; //"s" имеет тип string
Также переменную можно объявить как object. Ни для кого не секрет, что System.Object возглавляет иерархию классов .NET Framework и переменная объявленная как object, может представлять все что угодно. Таким образом мы получим следующее:
object o = new Employee() {Name = "Employee1"};
//"o" может быть приведена к типу Employee Console.WriteLine("Employee’s name is: {0}", ((Employee)o).Name);