欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#编写COM组件的方法分析

程序员文章站 2023-12-10 23:48:10
本文实例讲述了c#编写com组件的方法。分享给大家供大家参考,具体如下: 1、新建一个类库项目 2、将class1.cs改为我们想要的名字 问是否同时给类改名,确定...

本文实例讲述了c#编写com组件的方法。分享给大家供大家参考,具体如下:

1、新建一个类库项目

2、将class1.cs改为我们想要的名字
问是否同时给类改名,确定

3、修改properties目录下面的assemblyinfo.cs
comvisible属性设置为true

4、项目菜单->mylib属性
找到“生成”选项卡
往下看,找到“为 com interop 注册”勾上

5、继续往下,找到“签名”选项卡
  勾上“为程序集签名”
  在下面的下拉框里面选择“ <新建...>”

6、在弹出的对话框里面,输入mylib。。或者随便取个名字
  去掉使用密码保护文件的选项

7、开始编码,任何一个公开的类,必须有一个 i开通的接口定义

using system;
using system.collections.generic;
using system.text;
using system.runtime.interopservices;
namespace mylib {
  [comvisible(true)]
  [guid("2cbd3d76-35f1-4f9d-9c1b-9dbfee412f76")]
  public interface imyclass
  {
    void initialize();
    void dispose();
    int add(int x, int y);
  }
  [comvisible(true)]
  [guid("ea2f140a-108f-47ae-bbd5-83eee646cc0d")]
  [progid("mylib.myclass")]
  public class myclass : imyclass
  {
    public void initialize()
    {
      //nothing todo
    }
    public void dispose()
    {
      //nothing todo
    }
    public int add(int x, int y)
    {
      return x + y;
    }
  }
}

8、guid属性里面的那个字符串,在“工具”菜单下面,“创建 guid”
  选择 registry format,然后复制
  注意在[guid("....... 这个里面要去掉guid前后的花括号

9、编译它

在命令提示符下面,进入dll所在的目录
用 gacutil /i mylib.dll 将这个dll加入的全局缓存里
然后用 regasm mylib.dll 注册这个dll

10、在javsscript里面试试.

更多关于c#相关内容感兴趣的读者可查看本站专题:《c#常见控件用法教程》、《c#窗体操作技巧汇总》、《c#数据结构与算法教程》、《c#面向对象程序设计入门教程》及《c#程序设计之线程使用技巧总结

希望本文所述对大家c#程序设计有所帮助。