做一个C#项目中需引用一个 dll其中有一个方法为需要输入参数是数组,但一定要下界为1 ,在VB中可以用Option Base 1来解决,在C#中怎么办呀 
方法如下
void AsyncRead(int NumItems, ref System.Array ServerHandles, out System.Array Errors, int TransactionID, out int CancelID)
    OPCAutomation.IOPCGroup 的成员其中的ref System.Array ServerHandles 中 ServerHandles 需要是下界为1的数组,如用下界为0的会产生 值不在期忘的范围内异常请高手指教
QQ 396782885

解决方案 »

  1.   

    第三个参数既是起始下标
    Array vArray = Array.CreateInstance(typeof(byte),
        new int[] { 2 }, new int[] { 1 });
    vArray.SetValue((byte)1, 1);
    vArray.SetValue((byte)2, 2);
      

  2.   

    用这个方法创建ServerHandles数组试试看:
    Array.CreateInstance(Type elementType, int[] lengths, int[] lowerBounds)
      

  3.   


           //創建數組
                Array Arr= Array.CreateInstance(typeof(int), new int[] { 10 }, new int[] { 1 });
                //對元素賦值
                for (int i = Arr.GetLowerBound(0); i < Arr.GetUpperBound(0); i++)
                {
                    Arr.SetValue(20, i);
                }