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