微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从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是最新的,但并不完全如此详细.

原文地址:https://www.jb51.cc/csharp/244073.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐