"глобальная переменная" - это действительно переменная, которую вы создаете, чтобы просто "удерживать некоторую информацию", потому что ваша объектная модель слаба и вы не нашли "истинной цели" для существования переменной. Глобальные переменные почти всегда являются признаком большей архитектурной деформации.
Это может быть правдой. Но я не знаю ни одного хорошего примера любой большой и хорошей программы, сделанной без глобальных переменных, и, конечно, не используется так мало, как указано выше. Область - это фактический ключ. Вы можете сказать в программе только с одним классом, что ее параметры не являются глобальными vars. Но они есть.
В любом случае...
Я все еще понимаю концепцию singleton и, насколько я могу судить, они фактически не имеют смысла в С#. Также у меня возникает ощущение, что при отсутствии глобального состояния нам не следует избегать простого использования публичного класса, полного статических свойств
Итак, если не синглтоны или публичный класс, что делать, чтобы иметь глобальные вары в С#?
И когда мы должны использовать их? Предполагая, что их, скорее всего, не избежать. Когда-нибудь.
И почему мы должны избегать использования статического класса или static
вообще? Если это действительно так для С#.
В одном предложении: Каковы наилучшие методы использования глобальных переменных в Csharp?