Django глобальные переменные
Автор Vada Zvezdochot задал вопрос в разделе Другие языки и технологии
C# методы и получил лучший ответ
Ответ от ГРИБ.[гуру]
Взято из инета.
Глобальные переменные в 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.
Объявить ее как глобальную.
Лучше так вообще не делать. Тем более переменную, константу ещё куда ни шло.
В C# нет глобальных переменных, но есть статические:
public class Globals
{
public int my_global_variable;
}
Доступ:
Console.WriteLine(Globals.my_global_variable);