我应该为全局变量使用静态类还是仅使用静态属性?

时间:2011-08-17 09:11:46

标签: c#

我正在构建一个类来保存一些全局变量。

我只是想要为此目的使用静态类或非静态类会产生什么不同。

示例

    public class Modules
    {
        public static int Modul1{ get { return 1; } }
    }

    public static class Modules
    {
        public static int Modul1{ get { return 1; } }
    }

4 个答案:

答案 0 :(得分:1)

不同之处在于您无法从静态类创建实例。如果您不打算将该类用于最佳选项的对象,那么很明显该类不应该被实例化。

编辑: 作为旁注,我认为在大型项目中执行此操作是不好的设计:link

答案 1 :(得分:1)

声明为静态,您至少添加了2个架构限制:

1)没有人可以从该类派生并以任何方式扩展它。

2)内部成员只能是静态成员。

因此,如果你想像配置库一样使用这个类,那么就像使用静态类一样。

答案 2 :(得分:0)

我有一个带有静态属性的静态Settings类,似乎有意义,不需要创建多个实例,单例似乎有点过分。

答案 3 :(得分:0)

在实例类中,您可以混合使用静态和非静态。但在静态类中,每个ting都是静态的。因此,不存在特定于实例的成员。

另外,如果只是出于目的或需要,你是否真的要求整个班级不仅仅是其成员?