如何从vbScript调用.NET代码(C#/ vb.net)?

我想我可以编译一个C#DLL,然后将它作为COM对象公开,以便它可以从VBscript创建.我只是不确定这样做的步骤……

解决方法

这样做非常简单.但是有很多地方并不那么简单.这很大程度上取决于您的课程需要做什么,以及您打算如何部署它.

需要考虑的一些问题:

>你的班级必须有一个无参数的构造函数.
>它不能暴露静态方法.
>是在全局程序集缓存中部署COM DLL吗?如果没有,您将不得不给它一个名称并使用regasm / codebase注册它.
>您是否关心GUID识别类及其接口的内容?如果没有,你可以让regasm分配它们,但是每次(和每个地方)这个类都注册时它们会有所不同.如果您需要GUID在安装期间保持不变,则需要使用Guid属性标记成员.
>您打算在.NET和COM之间使用认的数据类型封送吗?如果没有,您将需要使用MarshalAs属性标记属性方法.
>你的班级暴露什么样的COM接口对你有用吗?如果是这样,您将需要处理InterfaceType属性.
>您的班级是否需要筹集或回应活动?如果是这样,那么对您设计类接口的方式有影响.

有一篇关于COM互操作和.Net here的非常好的(如果注明日期)文章.(文章谈到的很多内容,比如生成类型库,现在都会自动处理.)而且Microsoft’s documentation是最新的,但并不完全如此详细.

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...