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