Condividi tramite


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 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.

È 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 fa sempre riferimento allo spazio dei nomi .NET System.

Specifiche del linguaggio C#

Per altre informazioni, vedere la sezione Spazi dei nomi della specifica del linguaggio C#.