Originally Posted by jmcilhinney
You've completely missed the point. I didn't say that you can't use modules, just that it's not necessary. Also, a class with Shared members doesn't require an instance to be created to have those members used either. The File and Directory classes are prime examples. You should NEVER create an instance of either because all the useful members are Shared. In fact, modules have only been kept around for backward-compatibility. They don't actually exist at all. When you compile your VB code a module is implemented as a class with all Shared members and no public constructor. Modules are only a facade that appears to be the same as VB6 modules but is actually a .NET class underneath. The only thing that a module offers over a class is that you don't have to qualify a member of a module with the module name, while with a class you do. Many would not consider that a positive thing anyway.