您的位置:首页 > 编程语言 > C#

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

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

【例子】

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


【分析】

这个方法的参数类型声明为了 dynamic。在方法内部,实参被作为二元+操作符的两个操作数使用。由于 arg dynamic ,所以C# 编译器会生成 payload 代码,以便在运行时检查 arg 的实际类型,并决定+操作符实际要做的事情。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐