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

Obory názvů se silně využívají v programování v jazyce C# dvěma způsoby. Rozhraní .NET nejprve používá obory názvů k uspořádání svých mnoha tříd, a to takto:

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

System je obor názvů a Console je třída v tomto oboru názvů. usingKlíčové slovo lze použít, aby se úplný název nevyžadoval, jako v následujícím příkladu:

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

Další informace naleznete v direktivě using.

Důležité

Šablony jazyka C# pro rozhraní .NET 6 používají příkazy nejvyšší úrovně. Pokud jste už provedli upgrade na verze Preview pro .NET 6, vaše aplikace nemusí odpovídat kódu v tomto článku. Další informace najdete v článku o nových šablonách jazyka C# generujících příkazy na nejvyšší úrovni .

Sada SDK pro .NET 6 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.

Za druhé deklarujete vlastní obory názvů, které vám pomohou řídit obor názvů tříd a metod ve větších programovacích projektech. Použijte klíčové slovo Namespace k deklarování oboru názvů, jak je uvedeno 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átoruC#.

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, že je jednodušší a ukládá horizontální mezery a závorky. To usnadňuje čtení kódu.

Přehled názvových prostorů

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

  • Organizují velké projekty kódu.
  • Jsou odděleny pomocí . operátoru.
  • usingDirektiva obviates požadavek na zadání názvu oboru názvů pro každou třídu.
  • globalObor názvů je "kořenový" obor názvů: global::System bude vždycky odkazovat na System obor názvů .NET.

specifikace jazyka C#

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