强制转换
((Decimal[])ob)[0]
((Decimal[])ob)[1]

解决方案 »

  1.   

    使用强制类型转换(System.Decimal[])ob[0],(System.Decimal[])ob[1]
      

  2.   

    (System.Decimal[])ob[0],(System.Decimal[])ob[1]
    是可以的,但前提是元素的具体类型是未知的这个问题的出处是这样的,一个对象,有一个public的数组字段,但数组元素的具体类型我不知道,如何通过反射取得这个数组字段的各个元素的值?
    因为:object ob1 = fi[i].GetValue(ob);
          这个数组字段只返回一个object类型的对象,数组字段的各个元素的具体类型不知道,所以如何通过这个对象名ob1得到各个元素的值成为难点了?
      

  3.   

    ((object[])ob)[0]
    ((object[])ob)[1]
      

  4.   

    反射只能反射当前的类型吧,??如果当前类型是Object,应该也反射出这个类型。关注......
      

  5.   

    ((object[])ob)[0]
    ((object[])ob)[1]
    不可以,如果元素类型是基本类型
    这样转换不可以,可以就好了。
      

  6.   

    如果要转成object[]也是可以的,但是不能直接强制类型转换,而要这样:
    Array arr = (Array) ob;object[] objs = new object[arr.Length];
    for ( int i = 0; i < arr.Length; i++ )
      objs[i] = arr.GetValue(i);
      

  7.   

    KEPP BOX 和 拆BOX转换过来就行了
      

  8.   

    强制转换
    ((Decimal[])ob)[0]
    ((Decimal[])ob)[1]
      

  9.   

    感谢 Ivony() 的方法,谢谢