Есть ли способ использовать переменную в нескольких классах в C #? - PullRequest
0 голосов
/ 13 мая 2011

Если я определю переменную в одном файле класса, есть ли способ получить доступ к той же переменной в другом классе?

Ответы [ 4 ]

5 голосов
/ 13 мая 2011
class Class1
{
    static const int myInteger = 256;
}

class Class2
{
    private void myMethod()
    {
        int i = Class1.myInteger;
        //i is now 256.
    }
}

Вы можете объявить переменную как статическую в самой верхней области видимости вашего первого класса (Class1). См. Статью MSDN для получения дополнительной информации о static участниках:

http://msdn.microsoft.com/en-us/library/79b3xss3(v=vs.80).aspx

1 голос
/ 13 мая 2011

Да, если у вас есть ссылка на объект первого класса.Или, если эта переменная является открытым статическим членом первого класса, в этом случае вам не нужна ссылка на объект.

0 голосов
/ 13 мая 2011

Переменные должны быть представлены как открытые свойства или поля, если вы хотите получить к ним доступ через другие классы.Однако эти классы нуждаются в отношениях.

public class C1
{
  public int x = 1;
}

public class C2
{
  private C1 otherClass;

  // constructor
  public C2(C1 other)
  {
    this.otherClass = other;
  }

  public void accessOtherClass()
  {
    Console.WriteLine(this.otherClass.x);
  }
}
0 голосов
/ 13 мая 2011

Да, предоставить доступ к нему через свойство.

http://msdn.microsoft.com/en-us/library/x9fsa0sw%28v=VS.71%29.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...