Névterek deklarálása típusok rendszerezéséhez
A névtereket a C#-programozásban kétféleképpen használják. Először is a .NET névtereket használ a számos osztály rendszerezéséhez, az alábbiak szerint:
System.Console.WriteLine("Hello World!");
System egy névtér, és Console a névtér egyik osztálya. A using
kulcsszó használható úgy, hogy a teljes név ne legyen kötelező, ahogy az alábbi példában is látható:
using System;
Console.WriteLine("Hello World!");
További információ: a használatról szóló irányelv.
Fontos
A .NET 6 C#-sablonjai felső szintű utasításokat használnak. Előfordulhat, hogy az alkalmazás nem egyezik a cikkben szereplő kóddal, ha már frissített a .NET 6-ra. További információ: Az új C#- sablonok legfelső szintű utasítások létrehozása
A .NET 6 SDK emellett implicit global using
irányelveket is hozzáad az alábbi SDK-t használó projektekhez:
- Microsoft.NET.Sdk
- Microsoft.NET.Sdk.Web
- Microsoft.NET.Sdk.Worker
Ezek az implicit global using
irányelvek tartalmazzák a projekttípus leggyakoribb névtereit.
További információkért tekintse meg az implicit eszközökkel kapcsolatos irányelveket ismertető cikket
Másodszor, a saját névterek deklarálása segíthet szabályozni a nagyobb programozási projektek osztály- és metódusneveinek hatókörét. A névtér kulcsszóval deklarálhat egy névteret, ahogyan az alábbi példában is látható:
namespace SampleNamespace
{
class SampleClass
{
public void SampleMethod()
{
System.Console.WriteLine(
"SampleMethod inside SampleNamespace");
}
}
}
A névtér nevének érvényes C# azonosítónak kell lennie.
A C# 10-től kezdődően a fájlban definiált összes típushoz deklarálhat egy névteret, ahogyan az az alábbi példában látható:
namespace SampleNamespace;
class AnotherSampleClass
{
public void AnotherSampleMethod()
{
System.Console.WriteLine(
"SampleMethod inside SampleNamespace");
}
}
Ennek az új szintaxisnak az az előnye, hogy egyszerűbb, vízszintes térközt és kapcsos zárójeleket takarít meg. Így a kód könnyebben olvasható.
Névterek áttekintése
A névterek a következő tulajdonságokkal rendelkeznek:
- Nagy kódprojekteket szerveznek.
- Az operátorral
.
vannak elválasztva. - Az
using
irányelv előírja, hogy a névtér nevét minden osztályhoz meg kell adni. - A
global
névtér a "gyökér" névtér:global::System
mindig a .NET System névtérre fog hivatkozni.
C# nyelvspecifikáció
További információ: A C# nyelv specifikációjának Névterek szakasza.