Тип dynamic
Ключевое слово dynamic помечает переменную,
у которой выбор свойств и методов переносится
на время выполнения. Компилятор не проверяет
такие вызовы заранее; при успешном сценарии
код работает как с обычным объектом.
Синтаксис
dynamic имя;
Пример
Давайте сложим dynamic-число с целым:
using System;
class Program
{
static void Main()
{
dynamic num = 5;
Console.WriteLine(num + 1);
}
}
Результат выполнения кода:
6
Пример
Давайте вызовем метод строки через dynamic:
using System;
class Program
{
static void Main()
{
dynamic str = "abcde";
Console.WriteLine(str.Length);
}
}
Результат выполнения кода:
5
Пример
Давайте присвоим dynamic другой тип:
using System;
class Program
{
static void Main()
{
dynamic val = 5;
val = "12345";
Console.WriteLine(val);
}
}
Результат выполнения кода:
"12345"
Пример
Давайте обратимся к полю анонимного объекта:
using System;
class Program
{
static void Main()
{
dynamic item = new { Num = 5, Name = "abcde" };
Console.WriteLine(item.Name);
}
}
Результат выполнения кода:
"abcde"