码迷,mamicode.com
首页 > Windows程序 > 详细

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

时间:2015-05-15 17:30:40      阅读:151      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!