一个只有静态方法的类应该是静态的吗?

mag*_*ell 7 c# static

我有一个只有静态方法的类.班级本身也应该是静态的吗?有关系吗?

Bol*_*ock 7

有关系吗?

使类静态可确保在用户尝试执行此操作时,无法通过生成编译器错误来实例化它.如果仅由静态成员组成的类根本不打算实例化,则没有理由不将其设置为静态.您可以选择不这样做,但是这样的类的实例不会非常有用,并且创建这些实例的用户将会非常困惑.

另一方面,如果您打算创建此类的实例但是您希望派生类实现它们自己的实例成员,那么这个类很可能是抽象的而不是静态的(也许这些实例成员应该在前面说明通过抽象定义或接口).