Spazi dei nomi in VB.NET

Il modo più comune in cui gli spazi dei nomi VB.NET sono utilizzati dalla maggior parte dei programmatori è comunicare al compilatore quali librerie .NET Framework sono necessarie per un determinato programma. Quando scegli un "modello" per il tuo progetto (come "Applicazione Windows Form"), una delle cose che stai scegliendo è l'insieme specifico di spazi dei nomi a cui verrà automaticamente fatto riferimento nel tuo progetto. Ciò rende il codice in tali spazi dei nomi disponibile per il programma.

Ad esempio, alcuni degli spazi dei nomi e dei file effettivi in ​​cui si trovano per un'applicazione Windows Form sono:

Sistema> in System.dll
System.Data> in System.Data.dll
System.Deployment> System.Deployment.dll
System.Drawing> System.Drawing.dll
System.Windows.Forms> System.Windows.Forms.dll

Puoi vedere (e cambiare) gli spazi dei nomi e i riferimenti per il tuo progetto nelle proprietà del progetto sotto il Riferimenti linguetta.

Questo modo di pensare agli spazi dei nomi fa sembrare loro la stessa cosa della "libreria di codici", ma questa è solo una parte dell'idea. Il vero vantaggio degli spazi dei nomi è l'organizzazione.

La maggior parte di noi non avrà la possibilità di stabilire una nuova gerarchia dello spazio dei nomi perché generalmente viene eseguita una sola volta "all'inizio" per una libreria di codici ampia e complicata. Ma qui imparerai come interpretare gli spazi dei nomi che ti verrà chiesto di usare in molte organizzazioni.

Cosa fanno gli spazi dei nomi

Gli spazi dei nomi consentono di organizzare le decine di migliaia di oggetti .NET Framework e tutti gli oggetti che i programmatori VB creano anche nei progetti, in modo che non si scontrino.

Ad esempio, se si cerca .NET in a Colore oggetto, ne trovi due. C'è un Colore oggetto in entrambi:

System.Drawing
System.Windows.Media

Se aggiungi un importazioni istruzione per entrambi gli spazi dei nomi (potrebbe essere necessario un riferimento anche per le proprietà del progetto) ...

Importa System.Drawing
Importa System.Windows.Media

... quindi una dichiarazione come ...

Dim a As Color

... verrà contrassegnato come errore con la nota "Il colore è ambiguo" e .NET indicherà che entrambi gli spazi dei nomi contengono un oggetto con quel nome. Questo tipo di errore è chiamato "collisione del nome".

Questa è la vera ragione per "spazi dei nomi" ed è anche il modo in cui gli spazi dei nomi vengono utilizzati in altre tecnologie (come XML). Gli spazi dei nomi consentono di utilizzare lo stesso nome oggetto, ad esempio Colore, quando il nome si adatta e mantiene ancora le cose organizzate. È possibile definire a Colore oggetto nel proprio codice e tenerlo distinto da quelli in .NET (o dal codice di altri programmatori).

Spazio dei nomi MyColor
Colore di classe pubblica
Colore secondario ()
' Fare qualcosa
End Sub
End Class
End Namespace