好的我是C#的新手并且有一个简单的问题。我现在正在学习XNA,我需要一个可以绘制所有项目的循环。
public class DrawnObject
{
//Declare some Variables
void draw()
{
//Draw Stuff
}
}
public class child1 : Drawnobject
{
//More Code
}
public class child2 : Drawnobject
{
//More Code
}
public class Game1
{
public List<DrawnObject> drawlist;
child1 child1object;
child2 child2object;
DrawnObject parentobject;
public void dosomthin()
{
drawlist.Add(child1);
drawlist.Add(child2);
drawlist.Add(parentobject);
}
}
这就是我所拥有的,遗憾的是它不起作用。它给了我错误:'ObjectParentTest.child1'是'类型'但是像'变量'一样使用。在此先感谢您的帮助
答案 0 :(得分:2)
您正在尝试向列表中添加类型,而不是添加对象(您的字段名称为child1object
,child1
是您的字段的类型):
drawlist.Add(child1object); // instead of drawlist.Add(child1)
drawlist.Add(child2object); // instead of drawlist.Add(child2)
此外,您需要在将这些变量添加到列表之前为其分配一些值:
public List<DrawnObject> drawlist = new List<DrawnObject>();
child1 child1object = new child1();
child2 child2object = new child2();
DrawnObject parentobject = new DrawnObject();
还有一个提示 - 在C#中我们使用Pascal
名称作为类型。因此,最好使用Child1
和Child2
。至少你会看到类型名称的位置,以及变量名称的位置。
答案 1 :(得分:1)
您使用的是child1
类型而不是变量child1object
,与child2
相同。