ACTIVEX控件中有一方法,SetData(ref System.Array, ref System.Array, ref System.Array)
参数是3个引用型数组,该控件在PB中能够正常调用.我在C#是这样调用的:
float []  lar_ave=new float[11];
float []  lar_max=new float[11];
float []  lar_min=new float[11];
for(int i=1;i<11;i++)
{
lar_ave[i]=20+i;
lar_max[i]=35+i;
lar_min[i]=15+i;
} OLE.SetData(ref  lar_min,ref  lar_ave,ref lar_OCCUPANCY);
可C#编译时却提示:参数“1,2,3” : 无法从“float[]”转换为“ref System.Array”.
哪个高手帮看看.

解决方案 »

  1.   

    数组就是array
    直接
    float []  lar_ave=new float[11];
    float []  lar_max=new float[11];
    float []  lar_min=new float[11];
    for(int i=1;i<11;i++)
    {
    lar_ave[i]=20+i;
    lar_max[i]=35+i;
    lar_min[i]=15+i;
    }
                            Array  a1 = (Array)lar_ave;
                            ...... a2 = ...
    OLE.SetData(ref  a1 ,ref  a2 ,ref  a3);
      

  2.   

    谢谢  hdt(倦怠) :
    还想请教下我声明的也是数组,为什么还要转换成ARRAY,ARRAY和float [] lar_ave=new float[11];声名有什么区别?
      

  3.   

    Array 是所有数组的基类