创建数组时更改子类型 [英] Changing child type when creating an array
问题描述
所以我有多个名为"Brick2","Brick3"的类。等等,来自"Brick1"的所有继承。 class。
So i have multiple classes called "Brick2", "Brick3" etc, all inheritances from "Brick1" class.
我有一个级别int,i ++每个级别都通过了。
i have a level int that i ++ every level passed.
在我的主页中我想生成一个砖块数组,并且根据级别更改生成的砖类型:
in my mainpage i want to generate an array of bricks, and change the generated brick type based on the level:
级别1,生成Bricks1数组。 2级 - Brick2等。
in level 1, generate array of Bricks1. level 2 - Brick2, etc.
这是我的代码:
class classname
class classname
{
Brick1 [,] BricksArray;
Brick1[,] BricksArray;
public void MakeBlocks(int rows,int cols)
{
public void MakeBlocks(int rows, int cols)
{
BricksArray = new Brick1 [rows,cols];
BricksArray = new Brick1[rows, cols];
for(int i = 0; i< rows; i ++)
{
for(int j = 0; j< cols; j ++)
&NBSP; {
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; Brick1 b =新Brick1();
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
Brick1 b = new Brick1();
}
}
}
}
}
}
}
}
非常感谢!
推荐答案
使用如果要生成正确的类型。否则,您可以使用反射,但根据给定的事实,这似乎有点矫枉过正。
Use an if to generate the correct type. Otherwise, you may use reflection, but on the given facts this seems to be overkill.
这篇关于创建数组时更改子类型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!