I like c#'s static classes because they can't be instantiated or inherited. They act like a namespace that can't be imported into the code file which allows for more managed organization. It doesn't seem that VB.NET has anything truly like this.
Modules
- They're static, but everything within them is available in the global application scope which just clutters everything.
MustInherit
- Keeps the class from being instantiated, but can still be inherited and then instantiated.
NotInheritable
- Can't be inherited, but can be instantiated.
I guess I can settle for MustInherit
, but I'd really like to see the c# equivalent of a static class.