Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 软件开发 / C# / Visual C# 2010新特性之dynamic类型

Visual C# 2010新特性之dynamic类型2011-10-17 博客园 holywolf在Visual C# 2010中引入了一种新的dynamic类型,该类型是一个静态的(static)类型,但是一个 dynamic类型的对象会绕过静态类型检查。在大多数情况下dynamic和object类型有些相似,但是在编译时 ,dynamic类型被假定为支持任何操作,也就是说dynamic类型的对象可以是一个Office对象,可以是一个 COM对象或者是DOM对象,而如果在运行时发现该对象不是期望的对象则会抛出一个运行时异常。

由于把一个对象定义为dynamic类型,因此在代码中编写任意调用在编译时都是合法的(这一点在声明 为object类型时不能成立)。例如以下代码能够通过编译:

运行后发现obj并不支持UpdateWordDocument方法,因此会抛出异常:

大多数动态类型操作的结果仍是动态类型,例如编写如下代码时智能提示会显示变量的类型是dynamic :