为什么在非静态类中有所有静态方法/变量?

时间:2010-04-28 11:00:55

标签: c# .net oop

我遇到过一个非静态的类,但所有的方法和变量都是静态的。例如:

public class Class1 {

    private static string String1 = "one";
    private static string String2 = "two";

    public static void PrintStrings(string str1, string str2)
    {
       ...

所有变量在所有实例中都是静态的,因此没有必要具有该类的单独实例。

有没有理由创建这样的类?

5 个答案:

答案 0 :(得分:17)

该课程是否在.NET 1.x天内写回来了吗?静态类直到C#2.0才出现。

答案 1 :(得分:5)

没有。使它成为一个静态类。

答案 2 :(得分:4)

没有。有些人没有意识到类本身可能是静态的,因此不要包含在类定义中。这很有用,因为它提供了更好的智能感知选项,并确保静态添加未来的方法。

这也隐含了密封课程。

答案 3 :(得分:1)

静态类提供:

  • 仅包含静态成员。

  • 无法实例化。

  • 密封。

  • 不能包含实例构造函数。
因此,创建静态类与创建仅包含静态成员和私有构造函数的类基本相同。

答案 4 :(得分:0)

不,如果班级中没有实例成员,那么它应该是静态的。

相关问题