C#编写COM组件的方法分析
发布时间 - 2026-01-11 01:56:28 点击率:次本文实例讲述了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#程序设计有所帮助。
# C#
# 编写
# COM组件
# 如何在C#中调用COM组件
# c#创建vc可调用的com组件方法分享
# C# 无需COM组件创建快捷方式的实现代码
# c# COM组件原理详解
# 程序设计
# 选项卡
# 相关内容
# 要去
# 感兴趣
# 数据结构
# 给大家
# 任何一个
# 的花
# 往下
# 设置为
# 更多关于
# 所述
# 对话框
# 使用技巧
# 面向对象
# 新建一个
# 有一个
# 往下看
# 类库
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
HTML 中动态设置元素 name 属性的正确语法详解
Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程
如何基于云服务器快速搭建网站及云盘系统?
Laravel distinct去重查询_Laravel Eloquent去重方法
智能起名网站制作软件有哪些,制作logo的软件?
laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法
如何快速生成ASP一键建站模板并优化安全性?
高防服务器:AI智能防御DDoS攻击与数据安全保障
Laravel用户密码怎么加密_Laravel Hash门面使用教程
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置
bootstrap日历插件datetimepicker使用方法
Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用
Laravel如何实现模型的全局作用域?(Global Scope示例)
如何在万网主机上快速搭建网站?
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】
简历在线制作网站免费版,如何创建个人简历?
JavaScript Ajax实现异步通信
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
JavaScript常见的五种数组去重的方式
EditPlus中的正则表达式 实战(4)
如何正确下载安装西数主机建站助手?
Bootstrap整体框架之CSS12栅格系统
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程
Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤
JavaScript中如何操作剪贴板_ClipboardAPI怎么用
如何确保FTP站点访问权限与数据传输安全?
Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试
Laravel怎么使用artisan命令缓存配置和视图
Laravel怎么上传文件_Laravel图片上传及存储配置
Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性
Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
简单实现jsp分页
网站制作软件有哪些,制图软件有哪些?
详解vue.js组件化开发实践
Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】
Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南
怎样使用JSON进行数据交换_它有什么限制
如何用搬瓦工VPS快速搭建个人网站?
西安专业网站制作公司有哪些,陕西省建行官方网站?
js实现点击每个li节点,都弹出其文本值及修改
如何在宝塔面板创建新站点?
高防服务器租用首荐平台,企业级优惠套餐快速部署
如何在云指建站中生成FTP站点?

