首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以从COM组件使用.NET组件吗?

可以从COM组件使用.NET组件吗?
EN

Stack Overflow用户
提问于 2009-07-01 06:48:39
回答 3查看 200关注 0票数 1

可以从COM组件使用.NET组件吗?

EN

回答 3

Stack Overflow用户

发布于 2009-07-01 06:53:06

票数 4
EN

Stack Overflow用户

发布于 2009-07-01 06:52:05

是的,这是可能的。

作为thoroughly explained in this CodeProject article,有两种方法可以做到:

  1. 早期绑定,它涉及到使用工具(类型库导入程序或tlbimp.exe )创建二进制文件( .NET程序集),该文件包含CLR实例化COM对象的Runtime Callable Wrapper所需的元数据。这提供了所有的强类型好处,因为您可以引用生成的程序集,并像使用代码中的任何其他.NET类一样使用这些类。
  2. 后期绑定,它在运行时使用Type.InvokeMember方法按名称调用COM对象的方法。由于这种方法是弱类型的,因此比早期绑定更容易出错,但它也提供了更大的灵活性。
票数 2
EN

Stack Overflow用户

发布于 2009-07-01 12:39:52

是的,你可以这样做(就像在其他答案中提到的那样)。

它基本上归结为将.NET组件公开为COM组件(这可以通过对程序集进行签名并只需翻转开关使程序集在中COM可见来完成,但良好的实践要求实现一个接口,并使用ComVisibleAttribute仅公开该接口。

这样,您的COM组件就可以与.NET组件进行交互,就好像它也是COM组件一样。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1067616

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档