Dichiarare gli spazi dei nomi per organizzare i tipi
Gli spazi dei nomi vengono usati frequentemente nella programmazione C# in due modi. In primo luogo, .NET usa gli spazi dei nomi per organizzare le numerose classi, come indicato di seguito:
System.Console.WriteLine("Hello World!");
System è uno spazio dei nomi e Console è una classe in quello spazio dei nomi. Si può usare la parola chiave using
in modo tale che il nome completo non sia necessario, come nell'esempio seguente:
using System;
Console.WriteLine("Hello World!");
Per altre informazioni, vedere la direttiva using.
Importante
I modelli C# per .NET 6 usano istruzioni di primo livello. L'applicazione potrebbe non corrispondere al codice in questo articolo, se è già stato eseguito l'aggiornamento a .NET 6. Per altre informazioni, vedere l'articolo sui nuovi modelli C# per generare istruzioni di primo livello
.NET 6 SDK aggiunge anche un set di direttive global using
implicite per i progetti che usano gli SDK seguenti:
- Microsoft.NET.Sdk
- Microsoft.NET.Sdk.Web
- Microsoft.NET.Sdk.Worker
Queste direttive global using
implicite includono gli spazi dei nomi più comuni per il tipo di progetto.
Per altre informazioni, vedere l'articolo sulle direttive implicite using
Secondo, dichiarando i propri spazi dei nomi è possibile controllare l'ambito dei nomi di classi e metodi nei progetti di programmazione più grandi. Usare la parola chiave namespace per dichiarare uno spazio dei nomi, come nell'esempio seguente:
namespace SampleNamespace
{
class SampleClass
{
public void SampleMethod()
{
System.Console.WriteLine(
"SampleMethod inside SampleNamespace");
}
}
}
Il nome dello spazio dei nomi deve essere un nome di identificatore C# valido.
A partire da C# 10, è possibile dichiarare uno spazio dei nomi per tutti i tipi definiti nel file, come illustrato nell'esempio seguente:
namespace SampleNamespace;
class AnotherSampleClass
{
public void AnotherSampleMethod()
{
System.Console.WriteLine(
"SampleMethod inside SampleNamespace");
}
}
Il vantaggio di questa nuova sintassi è che è più semplice, e fa risparmiare spazio orizzontale e parentesi graffe. In questo modo il codice risulta più semplice da leggere.
Panoramica degli spazi dei nomi
Gli spazi dei nomi hanno le proprietà riportate di seguito:
- Consentono di organizzare progetti di codice di grandi dimensioni.
- Vengono delimitati usando l'operatore
.
. - La direttiva
using
elimina la necessità di specificare il nome dello spazio dei nomi per ogni classe. - Lo spazio dei nomi
global
è lo spazio dei nomi "radice":global::System
farà sempre riferimento allo spazio dei nomi System di .NET.
Specifiche del linguaggio C#
Per altre informazioni, vedere la sezione Spazi dei nomi della specifica del linguaggio C#.