.NET 4.0 - ключевое слово dynamic

В своем выступлении на PDC Андерс сказал, что ключевое слово dynamic будет отправлять любые вызовы функций, выполняемые во время выполнения.

Затем он сказал, что ключевое слово «dynamic» само по себе статически типизировано и проверяется во время компиляции.

Теперь, если бы вы вызывали метод, который не существует для «динамического» типа - не приведет ли это к ошибке времени выполнения?

Правильно ли называть язык C # 4.0 языком проверки статического типа?

Или я просто не понимаю, о чем Андрес говорил в этой презентации?


person Developer    schedule 13.01.2009    source источник


Ответы (1)


В C # все еще есть статическая проверка типов, но забавно сказать, что статический тип ссылки является «динамическим». IIRC фактическим типом для динамического является объект со специальным флагом IL, указывающим, что он разрешается динамически. Конечно, если фактический тип не поддерживает данную операцию, генерируется исключение.

person Brian Rasmussen    schedule 13.01.2009