C#创建COM组件

本文介绍了如何在Visual Studio 2008中创建C# COM组件,包括修改AssemblyInfo.cs文件,设置项目属性,定义公共接口和事件,以及如何在VC++中使用该组件。遵循文中步骤,开发者可以成功地生成并使用COM对象。
摘要由CSDN通过智能技术生成

以下所讲述的过程,在VS2008测试通过。

 

1、 首先创建一个c#的类库项目。

2、 将AssemblyInfo.cs文件中的[assembly: ComVisible(false)]改为[assembly: ComVisible(true)],或者在项目属性-》应用程序-》程序集信息...-》勾选“使程序集COM可见”复选框。

3、 在项目属性-》”生成”中构选上”为COM互操作注册”复选框。

 

请记住 :想要把C#对象当作COM对象需要以下几点...

  • class必须是public的
  • 属性,方法和事件必须是public
  • 属性和方法必须在Interface里面定义
  • 事件必须在事件的接口中

未在接口中定义的成员,而在实现里面是public的成员,对COM是不可见的,但是对其他的.NET程序是可见的.为了把属性和方法暴露给 COM,你必须在接口中定义他们,并且把他们用DispId属性标记,在class里面实现.在接口里面定义的成员只是为了使用 vtable(虚函数表).要想暴露事件,你也必须把成员定义在事件接口里面并且标记DispId属性.类不需要实现此接口.类可以实现接口 (一个类可以实现多个接口,只有第一个接口才是默认的接口.).暴露给COM的那些属性方法其实就在类的实现里面.他们必须被标记为public,而且要 符合接口里面的定义.Also, declare the events raised by the class here. They must be marked public and must match the declarations in the events interface. (这两句不知道具体的含义,代码里面也没看出端倪.)

每一个接口都要有一个GUID属性(我当时上学的时候,把他叫属性属性,或者定制属性,现在也不清楚到底叫什么..).你可以用guidgen.e

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值