WEB开发网
开发学院软件开发C语言 C# 4.0、动态关键字与 COM 阅读

C# 4.0、动态关键字与 COM

 2010-09-30 22:44:44 来源:WEB开发网   
核心提示: 图 5 中的代码允许您使用普通 .NET Framework 类型来调用 COM 对象,而且,C# 4.0、动态关键字与 COM(7),可选参数使得它更加简单,C# 4.0 中引入的动态关键字和其他 COM 互操作功能不会使代码的运行速度明显加快,您的控制力就会大大降低,COM 在 .NET F

图 5 中的代码允许您使用普通 .NET Framework 类型来调用 COM 对象。而且,可选参数使得它更加简单。

C# 4.0 中引入的动态关键字和其他 COM 互操作功能不会使代码的运行速度明显加快,但能让您像编写脚本一样编写 C# 代码。对于 COM 对象来说,这种成果可能与性能的提升一样重要。

无 PIA 部署

从 .NET Framework 推出以来,您就可以将 COM 对象包装到托管类中,然后从基于 .NET 的应用程序中使用。为了实现此目的,您需要使用由 COM 对象的供应商提供的主互操作程序集 (PIA)。PIA 必不可少,必须与客户端应用程序一起部署。但是,很多时候,PIA 都太大了,并且会包含整个 COM API,因此将它们打包到安装程序中不是什么令人愉快的经验。

Visual Studio 2010 提供了无 PIA 选项。“无 PIA”是指编译器能够嵌入您在当前程序集中从 PIA 获取的必要定义。因此,只有真正需要的定义才会进入最终的程序集,而不需要将供应商的 PIA 整个打包到安装程序中。图 6 显示了“属性”框中的选项,该选项在 Visual Studio 2010 中实现了无 PIA。

C# 4.0、动态关键字与 COM

图 6 在 Visual Studio 2010 中启用无 PIA 选项

无 PIA 功能基于 C# 4.0 的一项称为“类型等效性”的功能。简而言之,类型等效性就是两个截然不同的类型可在运行时被当作是等效的,并且可以互换使用。类型等效性的典型示例是不同程序集中定义的两个同名的接口。它们是不同的类型,但只要存在相同的方法,它们就可以互换使用。

总之,使用 COM 对象仍然代价不低,但是 C# 4.0 中的 COM 互操作支持使您编写的代码简单得多。从基于 .NET Framework 框架的应用程序处理 COM 对象,可使您与传统的应用程序和关键业务方案建立联系,如果不这样做,您的控制力就会大大降低。COM 在 .NET Frameworok 中是相当棘手的问题,但动态功能使这个问题变得不那么困难。

上一页  2 3 4 5 6 7 

Tags:动态 关键字 COM

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