我的函数返回一个多维数组对象。取决于构造函数参数,由tor返回的对象可以是不同秩的数组,但总是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
, GetValue
等数组方法。我如何从object
级别访问子特定方法?目前,我只有四个arr
对象可访问的方法:Equals
, GetHashCode
, GetType
和ToString
将对象强制转换为数组,如下所示:
((int[])arr).Rank
((int[])arr).GetLength()
或
(arr as int[]).Rank
您可以直接将变量声明为Array
:
Array arr = new int[2,2,2,2,2];
int rank = arr.Rank;
或强制转换为Array:
object arr = new int[2,2,2,2,2];
Array array = (Array)arr;
您必须将其强制转换回Array对象,然后这些方法将可用!