静态类的好处

bev*_*qua 5 c# static

可能重复:
静态类的用途是什么

声明静态类有什么好处?

public static class MyStaticClass
{
}
Run Code Online (Sandbox Code Playgroud)

除了"它无法实例化"之外还有其他吗?
为什么你想要一个静态类,为什么一个类应该是静态的呢?
是"任何类都应该被声明为静态,除非它意味着被实例化"这是一个很好的经验法则吗?

Sor*_*gal 6

静态类可用作实用程序函数和常量的容器.如果类不表示对象并且仅用于此目的,则将其声明为静态是有意义的.


Jon*_*eet 6

如果一个类有静态修饰符,那么:

  • 它使你的意图明确:这不仅仅是一个恰好拥有所有静态成员的类 - 它是一个只有静态成员的类
  • 您可以阻止实例化而不需要私有构造函数来抑制默认的公共构造函数
  • 您不能声明该类型的变量
  • 您不能将该类型用作类型参数(无论如何,IIRC)
  • 如果它是顶级类型,您可以在类型中声明扩展方法

第一点是最重要的,IMO.您正在向编译器和其他开发人员传达意图.