静态类的利弊 我是一个C++程序员,转换到C语言。我说过不要使用静态类。 我理解在C#中,如果类只有静态成员,那么它应该是静态的。(我的类只有静态成员) 你能解释一下使用静态类会有什么问题吗? 什么时候我们真的应该使用它们

静态类的利弊 我是一个C++程序员,转换到C语言。我说过不要使用静态类。 我理解在C#中,如果类只有静态成员,那么它应该是静态的。(我的类只有静态成员) 你能解释一下使用静态类会有什么问题吗? 什么时候我们真的应该使用它们,c#,static-methods,static-classes,C#,Static Methods,Static Classes,谢谢静态类与非静态类基本相同,但有一个区别:静态类不能实例化 另请检查此链接: 主要原因是,有时(但并非总是)最好使用单例类,因为单例类可以实现接口。静态类与非静态类没有区别,只是不能实例化静态类(因为它们当然是静态的)而且这个静态类将无法利用诸如继承之类的很酷的OOP特性(它不能在C#中进行子类化) 当静态类包含静态成员时,您必须注意的主要事项是,如果多个线程使用该类静态成员,则使其成为线程安全的 你能解释一下使用静态类会有什么问题吗?什么时候我们真的应该使用它们 如果您的类仅公开静态成员,

谢谢

静态类与非静态类基本相同,但有一个区别:静态类不能实例化

另请检查此链接:


主要原因是,有时(但并非总是)最好使用单例类,因为单例类可以实现接口。

静态类与非静态类没有区别,只是不能实例化静态类(因为它们当然是静态的)而且这个静态类将无法利用诸如继承之类的很酷的OOP特性(它不能在C#中进行子类化)

当静态类包含静态成员时,您必须注意的主要事项是,如果多个线程使用该类静态成员,则使其成为线程安全的

你能解释一下使用静态类会有什么问题吗?什么时候我们真的应该使用它们


如果您的类仅公开静态成员,则可以将其设置为静态类,但前提是您确定不需要此类的实例。事实上,使用静态类绝对没有问题,只要确保线程安全(如果需要)并确保它符合您的系统设计。

如果使用得当,静态类没有任何问题。出于数据隔离和多线程的原因,您需要注意静态(即
静态
字段)。所以这在很大程度上取决于你在做什么;pEverything您所说的使多线程使用时线程安全也同样适用于非静态方法…绝对适用…除非静态方法是自包含的