0

好的,我是 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' 是一个'类型',但它像一个'变量'一样使用。在此先感谢您的帮助

4

2 回答 2

2

您正在尝试将类型添加到列表中,而不是添加对象(您的字段名称是child1objectchild1是您的字段的类型):

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类型的名称。因此,它更好地使用Child1Child2而不是。至少你会看到类型名称在哪里,变量的名称在哪里。

于 2012-10-28T20:28:28.423 回答
1

您正在使用类型child1而不是变量child1object,与child2.

于 2012-10-28T20:29:16.733 回答