【发布时间】:2015-04-05 06:05:27
【问题描述】:
我想知道创建一个只有静态方法的类的原因,例如Console 或Convert 类。我能想到的唯一原因是将相关函数组合在一起,那么这与命名空间有何不同。
【问题讨论】:
-
静态类基本上是实现单例的一种方式。此外,用于定义对预先存在的类的扩展。
-
请注意,在 C# 中,每个方法、属性、事件等都必须存在于一个类型中,例如
class。不允许将方法作为命名空间的直接成员。但我明白你为什么将静态类与命名空间进行比较。 -
c# 还有一种用法:扩展方法必须在静态类中声明。例如:System.Linq.Enumerable
-
@Richard 那么静态类和单例之间到底有什么区别?单例只在调用时初始化,而静态类在启动时初始化?
-
@Kilazu:在我的答案下方的评论中查看答案。