WEB开发网
开发学院软件开发C语言 C# 4动态编程新特性与DLR剖析 阅读

C# 4动态编程新特性与DLR剖析

 2010-09-30 22:46:36 来源:WEB开发网   
核心提示: Objectwordapp=newWord.Application();//创建Word对象ObjectfileName=“MyDoc.docx”;//指定Word文档Objectargu=System.Reflection.Missing.Value;Word.Docu

    Object wordapp = new Word.Application();   //创建Word对象
    Object fileName = “MyDoc.docx” ;//指定Word文档
    Object argu = System.Reflection.Missing.Value;
    Word.Document doc = wordapp.Documents.Open(ref fileName, ref argu, 
                ref argu, ref argu, ref argu, ref argu, ref argu, ref argu,
                ref argu, ref argu, ref argu, ref argu, ref argu, ref argu, 
                ref argu, ref argu);

上述对Open()方法的调用语句只能用“恐怖”一词来形容,其原因是Word组件中的Open()方法定义了太多的参数。

C#4使用dynamic关键字,配合从Visual Basic中学来的“命名参数与可选参数”这两个新语法特性,可以写出更简洁的代码:

    dynamic wordapp = new Word.Application();
    dynamic doc = wordapp.Documents.Open(FileName: “MyDoc.docx”);

上述代码中省去了用不着的参数,并且可以去掉参数前的ref关键字。

当上述代码运行时,DLR会使用反射技术将dynamic表达式“绑定(bind)”到COM互操作程序集中所包容的Word.Application代理对象。

(3)C# 4动态编程技术内幕

C#4中所定义的dynamic变量可以引用以下类型的对象:

l 传统的“静态”的CLR对象。

l COM包装器对象。前面已经介绍了这方面的内容。

l 实现了IDynamicMetaObjectProvider接口的“动态对象”,ExpandoObject就是这种类型对象的实例。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:动态 编程 特性

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接