VB 函数 Public Sub GetData(A1 As Byte, ByRef A2() As Single, A3 As Integer)DLL注册成功,在调用方法时, ByRef A2() As Single 参数在 C# 显示类型为System.array,我声明一个ARRAY类型的写进去,提示数组类型错误的异常,声明类型为Single ,调用方法显示类型不能转换为array。 不知道该怎么做了,求助大家帮忙,谢谢了

解决方案 »

  1.   

    没有人么AClass A = new AClass();
    System.Array a2= new Array[2]; //返回结果
    byte a1 = 1;
    short a3 = 1;
    A.GetData(ref a1, ref a2, ref a3);
    这样写 会提示 数组类型错误的异常
      

  2.   

    Public Sub GetData(A1 As Byte, ByRef A2() As Single, A3 As Integer) 
    public void GetData(byte a1,ref double[] a2,int a3)
      

  3.   

    谢谢楼上的啊,ref double[]  这样 类型有问题 代码会出现编译错误,不能转换为System.Array,int a3也有同样的问题。
      

  4.   

    在顶一下,求助求助第二个参数,VBdll是返回一个单精的1维数组 给我。
      

  5.   

    改成这样呢:AClass A = new AClass(); 
    float a2[]= new float[2]; //返回结果
    byte a1 = 1; 
    int a3 = 1; 
    A.GetData(a1, ref a2, a3); 
      

  6.   

    感谢楼上帮忙,
    System.Array a2= new Array[2]; 这样写 编译是OK的,可以通过,但是执行方法后会有一个数组类型错误的异常,float a2[]= new float[2]; 这样声明的话 编译错误,提示 类型不能转换为Array 类型。