В VB.net модуль является общим классом.Когда они скомпилированы, им дается приватный конструктор и методы, установленные на shared.
Иногда вы вынуждены использовать модули компилятором (так же, как статические классы в C #), например, дляметоды расширения, которые нельзя создать в стороне от класса VB.Net.
Используя модули для своих вспомогательных методов, вы упростите преобразование их позднее в методы расширения и запретите другим добавлять какие-либо методы экземпляра илиКонструкторы.
Это говорит о том, что они являются пережитком VB6, который не поддерживает полное OO-программирование, и помимо автономных вспомогательных методов, они не будут широко использоваться.