我的ctor返回一个多维数组的对象。取决于构造函数参数,ctor返回的对象可以是不同的rank数组,但总是int。
object arr = new int[2,2,2];
或
object arr = new int[2,2,2,2,2];
或
object arr = new int[0,0];
构建arr
个对象,并知道它是什么(GetType()
),我想访问Rank
,GetLength
,{{等数组方法1}}等。我如何从GetValue
级别访问子级特定方法?目前,我只有四种object
对象可访问的方法:arr
,Equals
,GetHashCode
和GetType
答案 0 :(得分:1)
将对象转换为数组,如下所示:
((int[])arr).Rank
((int[])arr).GetLength()
或
(arr as int[]).Rank
答案 1 :(得分:1)
您可以将变量声明为Array
:
Array arr = new int[2,2,2,2,2];
int rank = arr.Rank;
或转换为数组:
object arr = new int[2,2,2,2,2];
Array array = (Array)arr;
答案 2 :(得分:0)
您必须将其强制转换回Array对象,然后这些方法才可用!