Deklarowanie przestrzeni nazw w celu organizowania typów

Przestrzenie nazw są intensywnie używane w programowaniu w języku C# na dwa sposoby. Najpierw platforma .NET używa przestrzeni nazw do organizowania wielu klas w następujący sposób:

System.Console.WriteLine("Hello World!");

System jest przestrzenią nazw i Console jest klasą w tej przestrzeni nazw. Słowo using kluczowe może być używane tak, aby kompletna nazwa nie była wymagana, jak w poniższym przykładzie:

using System;
Console.WriteLine("Hello World!");

Aby uzyskać więcej informacji, zobacz using Dyrektywy.

Ważne

Szablony języka C# dla platformy .NET 6 używają instrukcji najwyższego poziomu. Aplikacja może nie być zgodna z kodem w tym artykule, jeśli został już uaktualniony do platformy .NET 6. Aby uzyskać więcej informacji, zobacz artykuł dotyczący nowych szablonów języka C# generowania instrukcji najwyższego poziomu

Zestaw SDK platformy .NET 6 dodaje również zestaw niejawnych global using dyrektyw dla projektów korzystających z następujących zestawów SDK:

  • Microsoft.NET.Sdk
  • Microsoft.NET.Sdk.Web
  • Microsoft.NET.Sdk.Worker

Te niejawne global using dyrektywy obejmują najbardziej typowe przestrzenie nazw dla typu projektu.

Aby uzyskać więcej informacji, zobacz artykuł dotyczący niejawnych dyrektyw using

Po drugie deklarowanie własnych przestrzeni nazw może pomóc w kontrolowaniu zakresu nazw klas i metod w większych projektach programistycznych. Użyj słowa kluczowego przestrzeni nazw, aby zadeklarować przestrzeń nazw, jak w poniższym przykładzie:

namespace SampleNamespace
{
    class SampleClass
    {
        public void SampleMethod()
        {
            System.Console.WriteLine(
                "SampleMethod inside SampleNamespace");
        }
    }
}

Nazwa przestrzeni nazw musi być prawidłową nazwą identyfikatora języka C#.

Począwszy od języka C# 10, można zadeklarować przestrzeń nazw dla wszystkich typów zdefiniowanych w tym pliku, jak pokazano w poniższym przykładzie:

namespace SampleNamespace;

class AnotherSampleClass
{
    public void AnotherSampleMethod()
    {
        System.Console.WriteLine(
            "SampleMethod inside SampleNamespace");
    }
}

Zaletą tej nowej składni jest to, że łatwiej jest zaoszczędzić miejsce w poziomie i nawiasy klamrowe. Ułatwia to odczytywanie kodu.

Przestrzenie nazw — przegląd

Przestrzenie nazw mają następujące właściwości:

  • Organizują duże projekty kodu.
  • Są one rozdzielane za pomocą . operatora .
  • Dyrektywa using nie spełnia wymagania określenia nazwy przestrzeni nazw dla każdej klasy.
  • global Przestrzeń nazw jest przestrzenią nazw "root": global::System zawsze będzie odwoływać się do przestrzeni nazw platformy .NETSystem.

specyfikacja języka C#

Aby uzyskać więcej informacji, zobacz sekcję Przestrzenie nazw specyfikacji języka C#.