Вопрос

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

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

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

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

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

Это было полезно?

Решение

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top