Why is it useful to access static members “through” inherited types?
问题 I'm glad C# doesn't let you access static members 'as though' they were instance members. This avoids a common bug in Java: Thread t = new Thread(..); t.sleep(..); //Probably doesn't do what the programmer intended. On the other hand, it does let you access static members 'through' derived types. Other than operators (where it saves you from writing casts), I can't think of any cases where this is actually helpful. In fact, it actively encourages mistakes such as: // Nasty surprises ahead -