从这里引文:
这实际上是设计使然。似乎没有充分的理由继承静态类。它具有公共静态成员,您始终可以通过类名称本身访问它。
我看到的继承静态内容的唯一原因是不好的原因,例如保存了几个打字字符。也许有理由考虑将静态成员直接带入范围的机制(实际上,我们将在Orcas产品周期之后考虑这一点),但是静态类继承并不是要走的路:这是使用错误的机制,并且有效仅针对碰巧驻留在静态类中的静态成员。
(Mads Torgersen,C#语言PM)
来自channel9的其他意见
.NET中的继承仅在实例基础上起作用。 静态方法是在类型级别而不是实例级别定义的。这就是为什么覆盖不适用于静态方法/属性/事件的原因…
静态方法仅在内存中保存一次。没有为它们创建的虚拟表等。
如果在.NET中调用实例方法,则始终为它提供当前实例。.NET运行时将其隐藏,但是会发生。
每个实例方法都有一个指向该方法在其上运行的对象的指针(引用)作为第一个参数。
静态方法不会发生这种情况(因为它们是在类型级别定义的)。编译器应如何决定选择要调用的方法?(小小古鲁)
作为一个有价值的想法, littleguru
对于此问题有部分“解决方法”:Singleton模式。



