我需要编写一个C#应用程序来使用第三方INPROC COM对象,这是我的一个副业项目。不幸的是,C#不是我主要掌握的编程语言,所以我的知识有限。是否有一些好的教程可以让我学习如何从C#中访问COM对象?为了让该第三方COM对象能够正常工作,我需要创建指定COM接口的实现并将其提供给COM对象。
我有一个相当庞大的.NET <-> COM书签收藏,以下是我正在转储的内容。
问题在于没有一篇教程/文章涵盖所有基础知识和陷阱。因此,您需要查看其中几篇并混合使用,具体取决于您想要做什么。
以下是到目前为止我找到的最佳资料...
常规 .NET COM 文章/教程
.NET和COM的MSDN
.NET 中的 ActiveX
有一本好书叫.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)的互操作性。虽然Platform Invocation Services是一项与COM互操作性不同的技术,但两者有许多重叠之处,因此将其包含在本书中是自然而然的。所有这些技术都是Common Language Runtime和.NET Framework的核心部分,并且在未来几年中不仅可能作为现有软件项目的迁移路径,而且还可能用于全新的软件开发。基本原理很简单,MSDN提供了良好的参考信息。
在您的C#项目中,使用“添加引用”将COM组件添加为引用。
如果需要实现COM接口,请创建一个继承自该接口的类:
class MyClass : IMyComInterface
{
...
}