.NET 4.0 - “动态”关键字

时间:2009-01-13 19:58:43

标签: dynamic .net-4.0

在他的PDC演讲中,Anders说动态关键字将在运行时调度对它进行的任何函数调用。

然后他继续说“动态”关键字本身是在编译期间进行静态类型检查的。

现在,如果您要调用“动态”类型中不存在的方法 - 这会导致运行时错误吗?

将C#4.0语言称为静态类型检查语言是对的吗?

或者我只是不知道Andres在这个演讲中谈到的是什么?

1 个答案:

答案 0 :(得分:4)

C#仍然有静态类型检查,但有点可笑的是,引用的静态类型是“动态的”。 IIRC动态的实际类型是对象,带有一个特殊的IL标志,表示它是动态解析的。当然,如果实际类型不支持给定的操作,则抛出异常。