Другие языки программирования и технологии

C# методы

Как сделать так, чтобы переменная была доступна из всех методов программы??
чтобы ее можно было изменять, смотреть???
Oleg )-(-)-(-)-(
Oleg )-(-)-(-)-(
2 246
Взято из инета.

Глобальные переменные в C#

Просто подумайте и ответьте себе на следующие вопросы:

1. Действительно ли нужно, чтобы к переменной мог быть доступ откуда угодно? Если нет, то создайте свойство у какого-нибудь самого подходящего класса.

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

3. Может у вас код логики в классах с визуальным интерфейсом? Если да, то лучше удалить код, и начать писать заново, только проектировать код, а не лепить.

Если ты сейчас думаешь "да задолбал ты, просто скажи, как сделать глобальную переменную или метод", то в таком случае просто говорю:

В таких случаях в C# и других реально объектных языках используют статичные переменные и методы. Просто создайте файл, в который будете кидать весь свой глобальный мусор:

namespace GlobalTrash
{
class MyGlobalTrash
{
public static int MiGlobalVariable;

public static void MiGlobalFunction()
{
}
}
}

Теперь в любом месте программы вы можете обратиться к переменным и методам так: GlobalTrash.MyGlobalTrash.MiGlobalVariable = 10;. Но еще раз хочу посоветовать создавать глобальные переменные только в крайнем случае.

В принципе, можно не создавать отдельный класс и namespace, а использовать класс Program, который итак уже есть в программе в файле Program.cs.
СА
Сергей Азаров
1 732
Лучший ответ
Лучше так вообще не делать. Тем более переменную, константу ещё куда ни шло.
Иван Тиш
Иван Тиш
25 818
В C# нет глобальных переменных, но есть статические:

public class Globals
{
public int my_global_variable;
}

Доступ:

Console.WriteLine(Globals.my_global_variable);
Андрей Орлов
Андрей Орлов
4 300
Объявить ее как глобальную.