dynamic - .NET 4.0 - "dynamic"关键字

标签 dynamic .net-4.0

Anders 在他的 PDC 演讲中表示,dynamic 关键字将调度在运行时对其进行的任何函数调用。

他接着说“dynamic”关键字本身在编译时进行静态类型检查。

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

将 C# 4.0 语言称为静态类型检查语言是否正确?

或者我只是不明白安德烈斯在本次演示中所说的内容?

最佳答案

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

关于dynamic - .NET 4.0 - "dynamic"关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/440543/

相关文章:

javascript - 使用 javascript 创建 HTML 元素?

c# - HttpContext.Current.Session 给出 StackOverflowException?

c# - .Equals 上的 C# 泛型方法中的意外行为

c# - 在控制台关闭时运行代码?

.net - 如何从线程任务返回数据

C++ 多维数组错误的多余代码

javascript - 如何从查找中选择值

arrays - 动态数组放置元素的时间复杂度

actionscript-3 - 如何判断一个 Actionscript 对象是否具有某个动态属性?

c# - Ria 服务将复杂对象作为参数传递给查询域服务方法