2010-10-30 3 views
0

Предположим, вы этот код:Как объявить «глобальную» переменную в проекте ООП?

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 существует в текущем контексте!

Как я могу получить доступ к игре.ch [index] ????

Спасибо!

ответ

2

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

CarsAttack.ch[index]; 

Его невозможно получить доступ к переменным без квалификации от а другого класса или пространства имен. Они существуют только в объявленном методе/классе. Вы должны полностью квалифицировать статический доступ с именем класса (и пространства имен, если вы в другом). : D

0

Поставка игрового объекта в другой класс и использование его в качестве переменной экземпляра.

0

Попробуйте

CarsAttack.ch[1] = something; 

хотя это плохой дизайн. Возможно, вам также придется ставить CarsAttack.

Что вы на самом деле пытаетесь достичь?

2

as ch является общественным участником, вы можете получить к нему доступ по адресу CarsAttack.ch. Но, тем не менее, может быть, вы должны реорганизовать ваш проект (не используя статику/одиночек) и наименование (ч: WTF) ...;)

Смежные вопросы