Murugesan Solaiyappan Ответов: 3

Можно сделать глобальный Var. C#


Можно объявить глобальным ВАР в c# .


у меня есть файл класса под названием "Class1.cs". class1 содержит два метода. я хочу использовать один объект var в обоих классах.

Пример;

class1
{
   var i=0;
   void add()
  {
     console.write(i);
  }
  void multiple()
  {
    console.write(i);
  }

}

3 Ответов

Рейтинг:
2

willington.d

Вы можете использовать статические переменные.


http://www.functionx.com/csharp/topics/staticcvariables.htm[^]
http://msdn.microsoft.com/en-us/library/79b3xss3(v=против 80).aspx[^]


Murugesan Solaiyappan

я думаю, ты не понимаешь, чего я жду. это не мой ожидаемый ответ. я не имею в виду объявление переменной C#. здесь я написал об объекте "VAR".

Рейтинг:
2

Jegan Thiyagesan

Привет,
В ОО мире, в основном в C используется как #определить.

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

public static class GlobalVariables
{
   public static const int InputNumber = 25;
}

public class Class1
{
   var i = GlobalVariables.InputNumber;
}
 
public class Class2
{
   var i = GlobalVariables.InputNumber;
}


Если только входной номер никогда не изменится, я бы не стал использовать его как константу.

Было бы гораздо лучше, если бы вы производили переменную как свойство из производного класса, либо как абстрактный, либо как интерфейс.

Регадры
Джеган


Per Söderlund

Что ты здесь делаешь и почему?
Я не вижу, как это практично и когда его использовать.

Кроме того, почему не рекомендуется использовать общедоступную переменную?
Да, и еще одно: зачем использовать статический const int вместо const int?

Jegan Thiyagesan

Я не совсем понимаю, что вы имеете в виду, говоря: "что я здесь делаю и почему?"

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

В OO переменная никогда не выставляется как публичная, она всегда является частной для класса, к которому она принадлежит, она выставляется только как свойства или гетеры и сеттеры.
Вот статья о том, что должен делать класс http://pragprog.com/articles/tell-dont-ask -да .

const int = эта переменная получит значение только во время своего построения,
static const int = будет только 1 такой член данных всего класса.

Надеюсь, это поможет.

Джеган

Рейтинг:
1

Simon_Whale

Как показывает эта статья MSDN Неявно Типизированные Локальные Переменные (Руководство По Программированию На C# )[^]

Цитата:
Ключевое слово var может использоваться в следующих контекстах:


О локальных переменных (переменных, объявленных в области действия метода), как показано в предыдущем примере.


Итак, чтобы ответить на ваш вопрос, используя var объявление на уровне класса не будет работать.