可以创建一个全局Var。 C#

时间:2010-10-28 13:20:33

标签: c#

是否可以在C#中创建变量global?

6 个答案:

答案 0 :(得分:10)

好吧,你可以创建一个公共静态变量:

public static class Globals
{
    public static string Foo;
}

但是,我强烈建议你这样做:

  • 不清楚使用变量是什么
  • 没有任何线程安全
  • 它使测试成为一种痛苦(特别是如果你想并行化测试)

我敦促你们努力设计远离全局变量。如果您能告诉我们您认为想要全局变量的原因,我们可能会就如何在这种特殊情况下避免它提供一些建议:)

答案 1 :(得分:2)

不直接,您可以使用静态属性(不推荐)的静态类,也可以使用均值来创建单例。更好的方法是使用某种依赖注入来提供值。

答案 2 :(得分:0)

不,不是。模拟/变通方法是某个类的公共静态变量。 HTH

答案 3 :(得分:0)

不是真的。你可以创建一个新类,调用它你想要的任何东西,使它成为静态的,并在其上有一个静态的公共属性/变量。

你为什么要这样做?这是不变的吗?

您还可以在web / app配置文件中使用(如果它是常量值)appsettings节点。

答案 4 :(得分:0)

你可以使用公共静态变量创建一个公共类......但是这样做真的不是一个好的编程习惯。

答案 5 :(得分:0)

不直接,您可以使用具有静态属性的静态类(强烈不推荐),也可以使用均值来创建单例(不推荐)。更好的方法是使用某种依赖注入来提供值(推荐)。