I understand what static classes and sealed classes are, and I regularly use extension methods, I'm just wondering—does anyone know why static classes are sealed in C#?
I've looked at MSDN and the C# language specification, but it never really says why they're sealed.
Why shouldn't we be able to inherit from static classes and override static members, etc.?
Edit:
I appreciate your answers, but you're still talking about what a static class is. I know why I can't override its methods. But I'm asking why did they make it that way?
Are vtables really that expensive? Why design a langauge so static classes are literally static? Is it just for tradition? Is there another advantage I'm not seeing?
(I have the sneaking suspicion I'm fundamentally misunderstanding the point of static classes.)