加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

使用C#编写的COM组件实例

发布时间:2023-10-21 13:40:03 所属栏目:Asp教程 来源:
导读:使用C#编写的COM组件实例:1 新建类库MyTestDLL 2 右击项目“MyTestDLL”-》属性-》生成-》勾选“为COM互操作注册” 3 打开 AssemblyInfo.cs 文件 修改 [assembly: ComVisible(true)] 4 打开Vis

使用C#编写的COM组件实例:

1 新建类库MyTestDLL 

2 右击项目“MyTestDLL”-》属性-》生成-》勾选“为COM互操作注册” 

3 打开 AssemblyInfo.cs 文件 修改 [assembly: ComVisible(true)] 

4 打开Visual Sutdio 2008 的命令提示行工具输入guidgen.exe 选择DEFINE_GUID 单击 "New GUID" 

5代码 

      1、每个类名对应一个接口名,接口名是类名前加上一个大写的I 

      2、接口中声明的方法要使用属性 [DispId(n)] 

      3、类必须有一个无参构造函数 

Code 

using System; 

using System.Collections.Generic; 

using System.Linq; 

using System.Text; 

using System.Runtime.InteropServices; 

namespace MyTestDll 

     //  这里Guid为第4步生成的。 

    [Guid("FFA4B191-FB5B-4dd5-B7B1-B2F32BF6F1FF")] 

    public interface IMyTestDll 

    { 

        [DispId(0)] 

        string GetAbout(); 

    } 

    public class Test1:IMyTestDll 

    { 

        PRivate string summary; 

        public Test1() 

        { 

            summary = "这是我的第一个测试"; 

        } 

        public string GetAbout() 

        { 

            return summary; 

        } 

    } 

6 生成项目 

asp测试代码   

<%    

  Dim  o     

  Set o = Server.CreateObject("MyTestDll.Test1")    

  Response.Write o.GetAbout() 

  Set o=Nothing   

  %>    

提示:如果要在其他的电脑使用我们用C#开发的这个COM组件还需要是用regasm来注册 

方法为: 

首先把bin/Debug目录的文件拷贝到目标电脑上,然后打开命令提示行工具输入: 

regasm 你拷贝到的目录/文件名.dll /tlb f:/dll/文件名.tlb /codebase 

 运行既可在该电脑上使用。 

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章