我正在開發一個涉及大量接口和繼承的項目,這些項目開始變得有點棘手,現在我遇到了一個問題。在基礎構造函數中使用'this'?
我有一個抽象類State,它接受一個Game對象作爲構造函數參數。在我的Game類的構造函數中,它需要一個狀態。這個想法是,當從抽象基類Game類繼承時,在調用基類的構造函數時,給它一個初始狀態對象。然而,這個狀態對象需要與您創建它相同的遊戲。代碼如下所示:代碼如下所示:
public class PushGame : ManiaGame
{
public PushGame() :
base(GamePlatform.Windows, new PlayState(this), 60)
{
}
}
但是,這不起作用。我只能假設因爲'this'關鍵字在構造函數開始執行之後纔可用。嘗試在基類的構造函數中使用它顯然不起作用。那麼,對此我最好的解決方法是什麼?我的計劃B是從Game類的構造函數中刪除State參數,然後在構造函數代碼中設置狀態。
有沒有一種更簡單,干擾較小的方式來做到這一點?
請不要用「C#」等標題來標題。這就是標籤的用途。 – 2012-02-26 06:55:45