C# supports the static modifier on a class definition to define a class which cannot be inherited, is sealed, and has only static members. VB.NET supports Module statement to define a reference type available through its namespace, to similar effect.
I know that C# and VB.NET share a common CodeDOM, Roslyn compiler, and target IL. My question is what, if any, difference there is between a static class vs. module.
Moduleis nothing more or less than asealedclass withstaticmembers marked with theStandardModuleattribute. The only remarkable thing is that the class itself is not markedstatic(abstract sealedon the IL level), though this makes little difference in practice of course.