Возвращаясь к моему вопросу заданному ранее: Приведение типа к dynamic и ответа данного на него, что привидени типов там никакого нет, и что левая часть примит занчеение правой - т.е на строке:
dynamic instance = new Program();
тип dynamic примет тип Program, то принимая это во внимание и то, что обычно для хранения анононимных типов используется тип var
var instance = new { Name = "Alex", Age = 27 };
Значит, если я использую анонимные и динамические типы в c#, т.е.:
dynamic instance = new { Name="Alex", Age = 27 };
то dynamic примет тип var исходя из выше написанного?
Вывод сделан неверно.
var - это НЕ тип (хотя да, в справке он указывается как implicit type). Тип выводится компилятором в момент компиляции.
В случае с анонимными типами: в момент компиляции они получают вполне конкретное имя. Поэтому во время компиляции строка
var instance = new { Name = "Alex", Age = 27 };
будет заменена на что-то вроде
<>f__AnonymousType0`2 instance = new <>f__AnonymousType0`2 { Name = "Alex", Age = 27 };
Следовательно и dynamic будет хранить этот созданный тип.
Типа var не существует. Это синтаксический сахар. В обоих случаях instance будет указывать на объект анонимного типа, сгенерированного компилятором.
var instance = new { Name = "Alex", Age = 27 };
Console.WriteLine(instance.GetType());
dynamic dynamicInstance = new { Name = "Alex", Age = 27 };
Console.WriteLine(dynamicInstance.GetType());
Результат:
<>f__AnonymousType0`2[System.String,System.Int32]
<>f__AnonymousType0`2[System.String,System.Int32]
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости