类型dynamic

      .net 4.0 引入了一个新类型dynamic 该类型的作用是绕过编译时类型检查, 改为在运行时解析这些操作。

      大多数情况下dynamic 类型与 object 类型的行为是一样的。 但是,不会用编译器对包含 dynamic 类型表达式的操作进行解析或类型检查。编译器将有关该操作信息打包在一起,并且该信息以后用于计算运行时操作,在此过程中,类型 dynamic 的变量会编译到类型 object 的变量中。

      类型 dynamic 只在编译时存在,在运行时则不存在。 因此,您不必考虑对象是从 COM API、从动态语言(例如 IronPython)、从 HTML 文档对象模型 (DOM)、从反射还是从程序中的其他位置获取自己的值。 如果代码无效,它将在运行时被捕获,并导致运行时异常。

      dynamic类型的对象是一个动态对象,你可以为它添加任何属性并赋上属性值。在未赋值之前该属性是不生效的,直到你赋值为止。如MVC3中的ViewBag对象。

 

作者:JetWu
出处:http://jetwu.cnblogs.com/
本博原创文章版权归博客园和本人共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出作者名称和原文连接,否则保留追究法律责任的权利。

posted @ 2011-11-16 18:09  JetWu  阅读(250)  评论(0编辑  收藏  举报