2012-10-28 80 views
0

好吧我新來C#和有一個簡短的問題。我現在正在學習XNA,我需要一個循環來繪製所有的項目。如何將孩子添加到列表C#

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'是一個'類型',但像'變量'一樣使用。在此先感謝您的幫助

回答

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代替。至少你會看到類型名稱和變量名稱。

+0

我猜他們也需要一個新的child1。 – kenny

+0

感謝您的幫助。我在這裏發佈的代碼只是我正在處理的其他代碼的模擬。我只是發現它想要我檢查對象是否爲空。謝謝您的幫助! – robbert229

1

您正在使用類型child1而不是變量child1object,與child2相同。

+0

woops ............搞砸了,那emberassing ...謝謝我覺得這樣的白癡雖然。 – robbert229