Istruzione Module
Aggiornamento: novembre 2007
Consente di dichiarare il nome di un modulo e introduce la definizione di variabili, proprietà, eventi e procedure comprese dal modulo.
[ <attributelist> ] [ accessmodifier ] Module name
[ statements ]
End Module
Parti
attributelist
Facoltativo. Per informazioni, vedere Elenco degli attributi.accessmodifier
Facoltativo. ad esempio uno dei seguenti:Per informazioni, vedere Livelli di accesso in Visual Basic.
name
Obbligatorio. Nome di questo modulo. Per informazioni, vedere Nomi di elementi dichiarati.statements
Facoltativo. Istruzioni che definiscono variabili, proprietà, eventi, metodi e tipi nidificati di questo modulo.End Module
Consente di terminare la definizione Module.
Note
Un'istruzione Module consente di definire un tipo di riferimento disponibile tramite il suo spazio dei nomi. Un modulo (denominato a volte modulo standard)è simile a una classe ma con alcune distinzioni importanti. Ogni modulo ha esattamente un'istanza e non deve essere creata o assegnata a una variabile. I moduli non sono in grado di supportare interfacce di ereditarietà o implementazione. Si noti che un modulo non è un tipo nello stesso senso di una classe o struttura. Non è possibile dichiarare che un elemento di programmazione abbia il tipo di dati di un modulo.
La parola chiave Module può essere utilizzata solo a livello di spazio dei nomi. Il altri termini, il contesto della dichiarazione per un modulo deve essere costituito di un file di origine o uno spazio dei nomi e non può essere una classe, una struttura, un modulo, un'interfaccia, una routine o un blocco. Non è possibile nidificare un modulo all'interno di un altro modulo o all'interno di un tipo. Per ulteriori informazioni, vedere Contesti delle dichiarazioni e livelli di accesso predefinito.
La durata di un modulo corrisponde a quella del programma. Poiché i suoi membri sono tutti Shared la loro durata corrisponde anch'essa a quella del programma.
L'impostazione predefinita dei moduli è l'accesso Friend (Visual Basic). È possibile modificarne i livelli di accesso mediante gli appositi modificatori. Per ulteriori informazioni, vedere Livelli di accesso in Visual Basic.
Tutti i membri di un modulo sono Shared in modo implicito.
Classi e moduli
Questi elementi hanno molte similitudini, ma vi sono anche alcune differenze significative.
Terminologia. Nelle versioni precedenti di Visual Basic vengono riconosciuti due tipi di moduli: moduli della classe (file cls) e moduli standard (file bas). La versione corrente li definisce classi e moduli, rispettivamente.
Membri condivisi. È possibile controllare se un membro di una classe è un membro condiviso o dell'istanza.
Orientamento dell'oggetto. Le classi sono orientate agli oggetti mentre i moduli no , quindi è possibile creare istanze come oggetti solo delle classi. Per ulteriori informazioni, vedere Confronto tra classi e moduli.
Regole
Modificatori. Tutti i membri dei moduli sono Shared (Visual Basic) in modo implicito. Quando si dichiara un membro, non è possibile utilizzare la parola chiave Shared e non è possibile alterare lo stato condiviso di nessun membro.
Ereditarietà. Un modulo non può ereditare da qualsiasi tipo diverso da Object, dal quale ereditano tutti i moduli. In particolare, un modulo non può ereditare da un'altro.
Non è possibile utilizzare l'Istruzione Inherits nella definizione di un modulo, anche per specificare Object.
Proprietà predefinita. Non è possibile definire alcuna Proprietà predefinite in un modulo.
Comportamento
Livello di accesso. All'interno di un modulo è possibile dichiarare ogni membro con il suo livello di accesso personale. L'impostazione predefinita dei membri del modulo è l'accesso Public (Visual Basic), tranne che per variabili e costanti, la cui impostazione predefinita è l'accesso Private (Visual Basic). Quando un modulo ha un accesso più ristretto rispetto a uno dei suoi membri, avrà la precedenza il livello di accesso specificato del modulo.
Ambito. L'ambito si trova nell'area di validità tramite il suo spazio dei nomi.
L'ambito di un membro di ogni modulo è l'intero modulo. Si noti che tutti i membri sono sottoposti a una promozione del tipo, che fa sì che il loro ambito venga promosso allo spazio dei nomi contenente il modulo. Per ulteriori informazioni, vedere Promozione del tipo.
Qualificazione. Un progetto può contenere più moduli ed è possibile dichiarare i membri con lo stesso nome in due o più moduli. Tuttavia è necessario qualificare qualsiasi riferimento a tale membro con il nome del modulo appropriato se il riferimento si trova al di fuori del modulo. Per ulteriori informazioni, vedere Risoluzione di un riferimento quando più variabili hanno lo stesso nome.
Esempio
Public Module thisModule
Sub Main()
Dim userName As String = InputBox("What is your name?")
MsgBox("User name is" & userName)
End Sub
' Insert variable, property, procedure, and event declarations.
End Module
Vedere anche
Concetti
Riferimenti
Istruzione Class (Visual Basic)