Definirea modulelor in VB.NET

Un modul reprezinta unul dintre elementele de programare care contin cod sursa ce urmeaza a fi compilat si executat. Un element similar de programare este clasa de obiecte […]. Spre deosebire de modul, clasa de obiecte poate fi adaptata cerintelor particulare ale dezvoltatorilor prin implementarea mostenirii.
Modulul este implementat cu ajutorul specificatiilor Module si End Module.

Module Module1
    Structure Persoana
        Dim CNP As String
        Dim Nume As String
        Dim Adresa As String
    End Structure

    Sub Main()
        Dim p As Persoana
        p = New Persoana
        p.CNP = "1801010433012"
        p.Nume = "Popescu Gigel"
        p.Adresa = "Bld. Victoriei nr. 13"

        MsgBox(p.Nume & " are domiciliul " & p.Adresa)
    End Sub

End Module

In exemplul anterior, modulul Module1 include procedura Main ce reprezinta punctul de intrare in aplicatie. Mediul Visual Studio include automat un modul cu procedura Main atunci cand se creeaza o aplicatie de tip Console Application. De asemenea, modulul include definirea unei structuri denumita Persoana.
Compilatorul genereaza eroare in cazul aplicatia Console Application nu gaseste procedura Main definita intr-un modul sau clasa de obiecte.
In cazul in care procedura Main este definita in clasa de obiecte si nu intr-un modul, atunci Main se defineste ca metoda Shared, ceea ce inseamna ca respectiva clasa nu trebuie sa fie instantiata.