当我创建实用程序类时,我通常会创建一个具有私有(private)构造函数并将其所有方法和属性公开为静态的类。最好的方法是什么?我的做法与创建静态类的方式有何区别?
最佳答案
静态类是自动密封的,因此人们无法继承和覆盖它们的行为。
这是唯一真正的区别(除非 IL 中有特殊的东西)
因此,如果您使用静态类,就可以省去将构造函数设为私有(private)并声明类密封的麻烦。
我要补充一点,将类定义为静态的是“自文档化”代码。你的库的用户会知道这个类不应该被实例化,并且只有静态值。
关于c# - 静态类与。具有私有(private)构造函数和所有静态属性和方法的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/323022/