A static class simply denotes that you don't expect or need an instance. This is useful for utility logic, where the code is not object-specific. For example, extension methods can only be written in a static class.
Pre C# 2.0, you could just have a regular class with a private constructor; but static
makes it formal that you can never have an instance (there is no constructor*, and all members must be static).
(*=see comment chain; you can optionally have a type initializer (static constructor aka .cctor
), but you cannot have an instance constructor (aka .ctor
)).
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…