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