我已将C#代码编译成DLL,但对它们几乎没有经验。我的C#代码包含一个带有静态方法HelloWorld
的类Print()
。我想在VBScript中使用这个DLL来调用方法Print()
。我知道这是基础,但我正在使用它作为一个大规模项目的测试,最终将编译为DLL。什么是声明的样子以及方法调用的外观如何?
答案 0 :(得分:20)
如果您的dll已在系统中注册,请使用CreateObject
和它的ProgID。
Set myObject = CreateObject("MyReallyCoolObject.HelloWorld")
myObject.Print
如果您的对象未在系统上注册,请使用GetObject
以及包含对象的文件的路径。确保您的对象公开正确的界面。 (第二个参数是可选的。如果你的对象暴露了多个参数,你可以在这里提供一个类名。)
Set myObject = GetObject("C:\some\path\helloworld.dll", "appname.HelloWorld")
myObject.Print
答案 1 :(得分:1)
答案 2 :(得分:1)
我想你可能在寻找Registration-Free COM。关于Microsoft.Windows.ActCtx的这个SO答案应该特别有助于VBScript。
请记住,COM不支持静态方法,因此您必须将Print方法转换为实例方法。