如何在OOP项目中声明“全局”变量?

时间:2010-10-30 16:35:54

标签: c#

假设你有这段代码:

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;
    }
}

错误:当前上下文中名称ch不存在!

如何访问game.ch [index] ????

谢谢!

4 个答案:

答案 0 :(得分:2)

由于ch是公开会员,您可以CarsAttack.ch访问它。但是,也许你应该重构你的设计(不使用静力学/单身)和命名(ch:wtf?)......;)

答案 1 :(得分:2)

  

如何访问game.ch [index] ????

CarsAttack.ch[index];

如果没有来自不同类或命名空间的资格,则无法访问变量。它们只存在于声明它们的方法/类中。您必须使用类的名称(以及名称空间,如果您使用不同的名称)完全限定静态访问。 :d

答案 2 :(得分:0)

通过将游戏对象提供给其他类并将其用作实例变量。

答案 3 :(得分:0)

尝试

CarsAttack.ch[1] = something;

虽然这是糟糕的设计。您可能还必须使CarsAttack静态。

你到底想要实现什么目标?