.NET 4.0 - ключевое слово "dynamic" - PullRequest
2 голосов
/ 13 января 2009

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

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

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

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

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

1 Ответ

4 голосов
/ 13 января 2009

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

...