我尝试在 vbscript 中进行小测试,因此在 C#(我是新手)中创建了非常非常简单的 dll,并希望在 vbscript 中使用它。
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;
        }
    }
}
和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 后,在控制台上我通过第一个回显显示“变量内容”,接下来我有错误“microsoft vbscript 运行时错误无效过程调用或参数:'oClass2.myMethod2'”。
我可以这样传递对象吗?
参考MK2的注释。问题不在于方法的返回类型,因为以下代码正在运行。
        public myClass1 myMethod2()
        {
            myClass1 test = new myClass1();
            return test;
        }
和vbs
Set return = oClass2.myMethod2()
现在在控制台上我有
Variable content
Variable content
但是如何在 vbs 中传递 myClass1 对象?