C # Navneområder (med eksempler)

I denne vejledning lærer vi om Navneområder, hvordan man definerer det, får adgang til dets medlemmer og bruger det i et C # -program.

Navneområder bruges i C # til at organisere og give et niveau for adskillelse af koder. De kan betragtes som en container, der består af andre navneområder, klasser osv.

Et navneområde kan have følgende typer som sine medlemmer:

  1. Navneområder (Indlejret navneområde)
  2. Klasser
  3. Grænseflader
  4. Strukturer
  5. Delegater

Vi diskuterer disse emner i senere tutorials. For nu holder vi os til klasser og navneområder.

Navneområder er ikke obligatoriske i et C # -program, men de spiller en vigtig rolle i at skrive renere koder og styre større projekter.

Lad os forstå begrebet navneområde med et virkeligt scenarie. Vi har et stort antal filer og mapper på vores computer. Forestil dig, hvor svært det ville være at administrere dem, hvis de placeres i en enkelt mappe. Dette er grunden til, at vi placerer relaterede filer og mapper i en separat mappe. Dette hjælper os med at administrere vores data korrekt.

Begrebet navneområde er ens i C #. Det hjælper os med at organisere forskellige medlemmer ved at placere relaterede medlemmer i samme navneområde.

Navneområde løser også problemet med navngivning af konflikter . To eller flere klasser, når de placeres i forskellige navneområder, kan have samme navn.

Definition af navneområde i C #

Vi kan definere et navneområde i C # ved hjælp af navneområdet nøgleord som:

 namespace Namespace-Name (// Body of namespace) 

For eksempel:

 namespace MyNamespace ( class MyClass ( public void MyMethod() ( System.Console.WriteLine("Creating my namespace"); ) ) ) 

I ovenstående eksempel MyNamespaceoprettes et navneområde . Den består af en klasse MyClasssom medlem. MyMethoder en klassemetode MyClass.

Adgang til medlemmer af navneområdet i C #

Medlemmerne af et navneområde kan tilgås ved hjælp af dot(.)operatøren. Syntaksen for at få adgang til medlemmet af navneområdet er,

 Navneområde-navn. Medlem-navn

For eksempel, hvis vi har brug for at oprette et objekt af MyClass, kan det gøres som,

 MyNamespace.MyClass myClass = nyt MyNamespace.MyClass ();

Vi diskuterer om oprettelse af objekter i senere tutorials. For nu skal du bare fokusere på, hvordan klassen MyClasser tilgængelig.

Eksempel 1: Introduktion af navneområde i C # -program

 using System; namespace MyNamespace ( public class SampleClass ( public static void myMethod() ( Console.WriteLine("Creating my namespace"); ) ) ) namespace MyProgram ( public class MyClass ( public static void Main() ( MyNamespace.SampleClass.myMethod(); ) ) ) 

Når vi kører programmet, vil output være:

 Opretter mit navneområde

I ovenstående program har vi oprettet vores eget navneområde MyNamespaceog fået adgang til dets medlemmer fra Main()metoden inde MyClass. Som tidligere nævnt dot (.)bruges operatøren til at få adgang til medlemmet i navneområdet.

I Main()metoden myMethod()kaldes metoden ved hjælp af dot (.)operatøren.

Brug af et navneområde i C # (det bruger nøgleord)

Et navneområde kan inkluderes i et program ved hjælp af nøgleordet. Syntaksen er,

 ved hjælp af Navneområde-navn;

For eksempel,

 ved hjælp af System;

Fordelen ved denne tilgang er, at vi ikke behøver at specificere det fuldt kvalificerede navn på medlemmerne af det navneområde hver gang vi får adgang til det.

Når linjen

 ved hjælp af System;

er inkluderet øverst i programmet. Vi kan skrive

 Console.WriteLine ("Hello World!");

I stedet for det fuldt kvalificerede navn, dvs.

 System.Console.WriteLine ("Hej verden!");

Indlejret navneområde i C #

Et navneområde kan indeholde et andet navneområde. Det kaldes indlejret navneområde. Det indlejrede navneområde og dets medlemmer kan også fås ved hjælp af dot (.)operatøren.

Syntaksen til oprettelse af indlejret navneområde er som følger:

 navneområde MyNamespace (namespace NestedNamespace (// Tekst af nestet navneområde)) 

Eksempel 2: Indlejret navneområde i C #

 using System; // Nested Namespace namespace MyNamespace ( namespace Nested ( public class SampleClass ( public static void myMethod() ( Console.WriteLine("Nested Namespace Example"); ) ) ) ) namespace MyProgram ( public class MyClass ( public static void Main() ( MyNamespace.Nested.SampleClass.myMethod(); ) ) ) 

Når vi kører programmet, vil output være:

 Eksempel på indlejret navneområde

Dette eksempel illustrerer, hvordan indlejret navneområde kan implementeres i C #.

Her har vi nu et ekstra navneområde inde MyNamespacekaldet Nested. Så i stedet for at bruge MyNamespace.SampleClass.myMethod()er vi nødt til at bruge MyNamespace.Nested.SampleClass.myMethod().

Interessante artikler...