Deklarace oborů názvů pro uspořádání typů

Obory názvů se v programování v C# často používají dvěma způsoby. Za prvé, .NET používá obory názvů k uspořádání svých mnoha tříd následujícím způsobem:

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

System je obor názvů a Console je to třída v daném oboru názvů. Klíčové using slovo lze použít, aby nebyl úplný název povinný, jak je znázorněno v následujícím příkladu:

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

Další informace najdete v direktivě using.

Důležité

Šablony jazyka C# pro .NET 6 používají příkazy nejvyšší úrovně. Pokud jste už upgradovali na .NET 6, vaše aplikace nemusí odpovídat kódu v tomto článku. Další informace najdete v článku o generování příkazů nejvyšší úrovně v nových šablonách jazyka C#.

Sada .NET 6 SDK také přidá sadu implicitních global using direktiv pro projekty, které používají následující sady SDK:

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

Tyto implicitní global using direktivy zahrnují nejběžnější obory názvů pro typ projektu.

Další informace najdete v článku o direktivách Implicit using

Za druhé, deklarování vlastních oborů názvů vám může pomoct řídit rozsah názvů tříd a metod ve větších programovacích projektech. Pomocí klíčového slova oboru názvů deklarujte obor názvů , jak je znázorněno v následujícím příkladu:

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

Název oboru názvů musí být platný název identifikátoru jazyka C#.

Počínaje jazykem C# 10 můžete deklarovat obor názvů pro všechny typy definované v tomto souboru, jak je znázorněno v následujícím příkladu:

namespace SampleNamespace;

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

Výhodou této nové syntaxe je jednodušší úspora vodorovného místa a složených závorek. To usnadňuje čtení kódu.

Přehled názvových prostorů

Obory názvů mají následující vlastnosti:

  • Uspořádají velké projekty kódu.
  • Jsou oddělené pomocí operátoru . .
  • Direktiva using obviňuje požadavek zadat název oboru názvů pro každou třídu.
  • Obor global názvů je "kořenový" obor názvů: global::System vždy bude odkazovat na obor názvů .NET System .

specifikace jazyka C#

Další informace najdete v části Obory názvů specifikace jazyka C#.