2010-10-30 39 views
0

假設你這個代碼:如何在OOP項目中聲明「全局」變量?

namespace StighyGames.CarsAttack { 


    public class CarsAttack 

    {  


    public static Channel[] ch = new Channel[30];  
    ... 
    } 
void main { 
    CarsAttack game = new CarsAttack(); 
} 

}

在同一個項目,我宣佈另一類另一個CS文件...

public class AnotherClass { 
    void AFunction() { 
     ch[1] = .. something; 
    } 
} 

錯誤:名稱通道沒有按」 t存在於當前情境中!

如何訪問到game.ch [指數] ????

謝謝!

回答

2

How can i access to game.ch[index] ????

CarsAttack.ch[index]; 

它不可能訪問變量,而無需從資格不同的類或名稱空間。它們只存在於它們聲明的方法/類中。你必須完全限定靜態訪問的類名稱(以及命名空間,以及如果你在一個不同的名稱)。 :D

0

通過將遊戲對象提供給其他類並將其用作實例變量。

0

嘗試

CarsAttack.ch[1] = something; 

雖然這是糟糕的設計。您可能也必須使CarsAttack爲靜態。

你究竟在努力實現什麼?

2

由於ch是公共成員,您可以通過CarsAttack.ch訪問它。但是,但是,也許你應該重構你的設計(不使用靜態/單身)和命名(CH:WTF)...;)