C#:如何从父对象访问数组方法?

时间:2015-08-05 09:32:24

标签: c# arrays multidimensional-array

我的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()),我想访问RankGetLength,{{等数组方法1}}等。我如何从GetValue级别访问子级特定方法?目前,我只有四种object对象可访问的方法:arrEqualsGetHashCodeGetType

3 个答案:

答案 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对象,然后这些方法才可用!