▲▲▲▲▲▲简单问题,但难倒我了,帮忙啊▲▲▲▲▲▲ 强制转换((Decimal[])ob)[0]((Decimal[])ob)[1] 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用强制类型转换(System.Decimal[])ob[0],(System.Decimal[])ob[1] (System.Decimal[])ob[0],(System.Decimal[])ob[1]是可以的,但前提是元素的具体类型是未知的这个问题的出处是这样的,一个对象,有一个public的数组字段,但数组元素的具体类型我不知道,如何通过反射取得这个数组字段的各个元素的值?因为:object ob1 = fi[i].GetValue(ob); 这个数组字段只返回一个object类型的对象,数组字段的各个元素的具体类型不知道,所以如何通过这个对象名ob1得到各个元素的值成为难点了? ((object[])ob)[0]((object[])ob)[1] 反射只能反射当前的类型吧,??如果当前类型是Object,应该也反射出这个类型。关注...... ((object[])ob)[0]((object[])ob)[1]不可以,如果元素类型是基本类型这样转换不可以,可以就好了。 如果要转成object[]也是可以的,但是不能直接强制类型转换,而要这样:Array arr = (Array) ob;object[] objs = new object[arr.Length];for ( int i = 0; i < arr.Length; i++ ) objs[i] = arr.GetValue(i); KEPP BOX 和 拆BOX转换过来就行了 强制转换((Decimal[])ob)[0]((Decimal[])ob)[1] 感谢 Ivony() 的方法,谢谢 发现了VS2008 Window窗体设计器的一个奇怪问题,急求解决方案!!! 存储过程 我是C#初学者。急需高手解答 如何画竖线啊 如何把ADODB转换成SQLCOMMAND? 研究过Infragistics.Win.UltraWinTabbedMdi源码的请进...切磋 c# 下程序运行7 8小时down机的问题 如何在程序运行读取数据时文本框中的数据不断的累加 对于一个没有装Framework的系统,我怎样让C#程序能够运行 请问在WIN98下能不能用.NET SDK(或只要能编译C#程序就行) 图形为什么变大了! c#中如何检测某个对象是否存在,以面重复new?
是可以的,但前提是元素的具体类型是未知的这个问题的出处是这样的,一个对象,有一个public的数组字段,但数组元素的具体类型我不知道,如何通过反射取得这个数组字段的各个元素的值?
因为:object ob1 = fi[i].GetValue(ob);
这个数组字段只返回一个object类型的对象,数组字段的各个元素的具体类型不知道,所以如何通过这个对象名ob1得到各个元素的值成为难点了?
((object[])ob)[1]
((object[])ob)[1]
不可以,如果元素类型是基本类型
这样转换不可以,可以就好了。
Array arr = (Array) ob;object[] objs = new object[arr.Length];
for ( int i = 0; i < arr.Length; i++ )
objs[i] = arr.GetValue(i);
((Decimal[])ob)[0]
((Decimal[])ob)[1]