C# 4.0、动态关键字与 COM
2010-09-30 22:44:44 来源:WEB开发网在我成为 C/C++ 开发人员之后,尤其是在 Microsoft .NET Framework 推出之前,我经常指责采用 Visual Basic 进行编程的同事选择使用那样一种弱类型化的语言。
有那么一段时间,进行静态类型化和强类型化编程是获得良好的软件开发体验的明显选择。但是事物总是要发展变化的,当今的 C# 开发人员社区(看起来几乎所有前 C/C++ 开发人员都已经转移到这里)经常发现他们明确需要一个更加动态的编程模型。上个月,我介绍了 Microsoft 在 C# 4.0 和 Visual Studio 2010 中提供的一些动态编程功能。这个月,我将深入探讨一些相关方案。首先要介绍 C# 4.0 最吸引人的原因之一:可以在 .NET Framework 中轻松实现 COM 对象编程。
轻松访问 COM 对象
如果一个对象的结构和行为不是由完全静态定义的类型(编译器全面了解该类型)描述的话,该对象就是动态的。不可否认,“动态”一词在这种情况下听起来太宽泛了,因此让我们看一个简单的示例。在 VBScript 等脚本语言中,以下代码能够成功运行:
Set word = CreateObject("Word.Application")
CreateObject 函数假设它获得的 string 参数是某个已注册 COM 对象的 progID。它创建该组件的一个实例,并返回该实例的 IDispatch 自动化接口。IDispatch 接口的细节在脚本语言的任何层级都绝对看不到。重要的是您可以编写如下代码:
Set word = CreateObject("Word.Application")
word.Visible = True
Set doc = word.Documents.Add()
Set selection = word.Selection
selection.TypeText "Hello, world"
selection.TypeParagraph()
doc.SaveAs(fileName)
更多精彩
赞助商链接