有关使用C#COM的任何好教程吗?

时间:2009-10-27 12:40:02

标签: c# com

对于其中一个副项目,我需要编写一个需要使用第三方INPROC COM对象的C#应用​​程序。不幸的是,C#不是我的主要编程语言,所以我的知识有点受限。有关如何从C#访问COM对象的任何好的教程吗?使用这个第三方COM对象需要我创建指定COM接口的实现,并将该实现提供给COM对象,以使其正常工作。

4 个答案:

答案 0 :(得分:35)

我有一个很大的.NET< - > COM书签集合,我正在下面倾销。

问题在于没有一篇教程/文章涵盖所有基础知识和gotacha。所以你需要经历几个并混合搭配,这取决于你想做什么。

这是迄今为止我发现的最好的......

一般.NET COM文章/教程

.NET上的MSDN& COM

.NET中的ActiveX

答案 1 :(得分:12)

有一本名为.NET and COM: The Complete Interoperability Guide的好书我即将开始阅读,因为我希望更好地理解COM互操作。也许它对你也有用,看看吧。

  

本书的重点是COM   互操作性(因为它很多   更大的主题),和心脏   讨论分为四个部分   部分:

* Using COM Components Within the .NET Framework
* Using .NET Framework Components from COM
* Designing Good .NET Framework Components for COM Clients
* Designing Good COM Components for .NET Framework Clients
     

本书的范围正是如此   与使用“非托管的”相关的一切   代码“在.NET Framework中。   基于COM构建的技术   互操作性也是如此   涵盖 - Windows的互操作性   表单控件和ActiveX控件,   与COM +的互操作性,以及   与分布式COM的互操作性   (DCOM)。虽然平台调用   服务是一项独立的技术   COM互操作性有很多   重叠的区域,所以包括在   书很自然。所有这些   技术是核心的一部分   公共语言运行时和.NET   框架,很可能不会使用   仅作为迁移​​的路径   现有的软件项目,但是   全新的软件开发   未来几年

另请查看这个(合法)免费的pdf电子书COM and .NET Interoperability,您可以从TheServerSide.com下载。您必须先注册才能下载,但如果您不喜欢,可以bugmenot进行注册。

答案 2 :(得分:3)

答案 3 :(得分:2)

基础知识非常简单,MSDN有很好的参考信息。

在C#项目中,使用“添加引用”添加对COM组件的引用。

如果需要实现COM接口,请创建一个继承它的类:

class MyClass : IMyComInterface
{
   ...
}