首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

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

2011-12-24 
如何将VBScript中的数组作为参数传入c#?代码如下:VBS:dimtesterdimtestValuedimtestValues()ReDimtestValu

如何将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 "
传进去再分解成数组

热点排行