我正在尝试在VBScript中进行小型测试,因此创建了一个非常简单的C# DLL(我是新手),并希望在VBScript中使用它。
C# 代码
在运行vbscript后,在控制台上我看到了第一个echo显示的“Variable content”,然后我遇到了错误“microsoft vbscript runtime error invalid procedure call or argument: 'oClass2.myMethod2'”。
我能用这种方式传递对象吗?
参考MK2的注释。问题并不是方法的返回类型,因为以下代码是可行的。
现在在控制台上我有:
“但是如何在 VBScript 中传递 myClass1 对象?”
C# 代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
namespace myNamespace
{
public class myClass1
{
public string sVariable1="Variable content";
}
public class myClass2
{
public myClass1 myMethod2(myClass1 test)
{
return test;
}
}
}
and vbscript
Set oClass1 = CreateObject("myNamespace.myClass1")
Set oClass2 = CreateObject("myNamespace.myClass2")
WScript.Echo oClass1.sVariable1
Set return = oClass2.myMethod2(oClass1)
WScript.Echo return.sVariable1
在运行vbscript后,在控制台上我看到了第一个echo显示的“Variable content”,然后我遇到了错误“microsoft vbscript runtime error invalid procedure call or argument: 'oClass2.myMethod2'”。
我能用这种方式传递对象吗?
参考MK2的注释。问题并不是方法的返回类型,因为以下代码是可行的。
public myClass1 myMethod2()
{
myClass1 test = new myClass1();
return test;
}
and vbs
Set return = oClass2.myMethod2()
现在在控制台上我有:
Variable content
Variable content
“但是如何在 VBScript 中传递 myClass1 对象?”