Есть ли способ использовать переменную в нескольких классах в C #?

#c# #variables

#c# #переменные

Вопрос:

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

Комментарии:

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

Ответ №1:

 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 = против80).aspx

Ответ №2:

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

Ответ №3:

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

http://msdn.microsoft.com/en-us/library/x9fsa0sw(v=VS.71).aspx

Ответ №4:

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

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