读书人

怎么将VBScript中的数组作为参数传入c#

发布时间: 2011-12-24 23:03:24 作者: rapoo

如何将VBScript中的数组作为参数传入c#?
代码如下:
VBS:
dim tester
dim testValue
dim testValues()

ReDim testValues(1)

set tester = CreateObject( "ArrayTest.StringTester ")


testValue = "Hello World "
testValues(0) = "Hello "
testValues(1) = "World "

'call tester.TestString(testValue)
call tester.TestStringArray(testValues)
'call tester.TestStringAndStringArray(testValue,testValues)

c#代码:
public class StringTester : ArrayTest.IStringTester
{

public StringTester() { }


public void TestStringArray
(
[MarshalAs(UnmanagedType.SafeArray,
SafeArraySubType = VarEnum.VT_BSTR)]
ref String[] tvalues
)
{
String[] values = (String[])tvalues;

Console.WriteLine( "\r\n " + MethodInfo.GetCurrentMethod().Name +
"\r\n ");
Console.WriteLine(new String( '- ', 20));

for (int i = 0; i < values.Length; i++)
Console.WriteLine( "values[ " + i.ToString() + "]= " +
values[i]);
}


}


运行时vbs抛出以下错误:
无效的过程调用或参数


[解决办法]
声明错了? 参数不正确
[解决办法]
根据错误信息提示是参数的问题,你再仔细看下
[解决办法]
set tester = CreateObject( "ArrayTest.StringTester ")

先确定一下这个tester对象能创建出来吗?
下面都屏蔽掉


[解决办法]
传递字符串可以吗
testValue = "Hello,World "
传进去再分解成数组

读书人网 >C#

热点推荐