首页 > Windows开发 > 详细

读经典——《CLR via C#》(Jeffrey Richter著) 笔记_dynamic基元类型

时间:2015-05-15 17:28:37      阅读:255      评论:0      收藏:0      [点我收藏+]

1、代码使用 dynamic 表达式/变量来调用一个成员时,编译器会生成特殊的 IL 代码来描述所需的操作。这种特殊的代码称为 payload(有效载荷)。在运行时,payload 代码根据当前由 dynamic 表达式/变量引用的对象的实际类型来决定具体执行的操作。

【例子】

private static dynamic Plus(dynamic arg) { return arg + arg;}

【分析】

这个方法的参数类型声明为了 dynamic。在方法内部,实参被作为二元+操作符的两个操作数使用。由于 arg 是 dynamic ,所以C# 编译器会生成 payload 代码,以便在运行时检查 arg 的实际类型,并决定+操作符实际要做的事情。

 

读经典——《CLR via C#》(Jeffrey Richter著) 笔记_dynamic基元类型

原文:http://www.cnblogs.com/lishidefengchen/p/4502420.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!