C # Naamruimten (met voorbeelden)

In deze zelfstudie leren we over naamruimten, hoe u deze kunt definiëren, toegang kunt krijgen tot de leden en hoe u deze in een C # -programma kunt gebruiken.

Naamruimten worden in C # gebruikt om codes te ordenen en een niveau van scheiding te bieden. Ze kunnen worden beschouwd als een container die bestaat uit andere naamruimten, klassen, enz.

Een naamruimte kan de volgende typen als leden hebben:

  1. Naamruimten (geneste naamruimte)
  2. Klassen
  3. Interfaces
  4. Structuren
  5. Afgevaardigden

We zullen deze onderwerpen in latere tutorials bespreken. Voorlopig houden we het bij klassen en naamruimten.

Naamruimten zijn niet verplicht in een C # -programma, maar ze spelen wel een belangrijke rol bij het schrijven van schonere codes en het beheren van grotere projecten.

Laten we het concept van naamruimte begrijpen met een real life scenario. We hebben een groot aantal bestanden en mappen op onze computer. Stel je voor hoe moeilijk het zou zijn om ze te beheren als ze in een enkele directory staan. Daarom plaatsen we gerelateerde bestanden en mappen in een aparte directory. Dit helpt ons om onze gegevens goed te beheren.

Het concept van naamruimte is vergelijkbaar in C #. Het helpt ons om verschillende leden te organiseren door gerelateerde leden in dezelfde naamruimte te plaatsen.

Namespace lost ook het probleem van naamgevingsconflicten op . Twee of meer klassen die in verschillende naamruimten worden geplaatst, kunnen dezelfde naam hebben.

Naamruimte definiëren in C #

We kunnen een naamruimte in C # definiëren met behulp van het naamruimtetrefwoord als:

 namespace Namespace-Name (// Body of namespace) 

Bijvoorbeeld:

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

In het bovenstaande voorbeeld wordt een naamruimte MyNamespacegemaakt. Het bestaat uit een klasse MyClassals lid. MyMethodis een lesmethode MyClass.

Toegang tot leden van naamruimte in C #

De leden van een naamruimte zijn toegankelijk via de dot(.)operator. De syntaxis voor toegang tot het lid van de naamruimte is,

 Naamruimte-naam. Lid-naam

Als we bijvoorbeeld een object van MyClass moeten maken, kan dit worden gedaan als,

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

We zullen het maken van objecten in latere tutorials bespreken. Concentreer u voorlopig gewoon op hoe de klas MyClasswordt geopend.

Voorbeeld 1: Namespace introduceren in 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(); ) ) ) 

Wanneer we het programma uitvoeren, is de uitvoer:

 Mijn naamruimte maken

In het bovenstaande programma hebben we onze eigen naamruimte gemaakt MyNamespaceen hebben we toegang tot de leden ervan via de Main()methode binnenin MyClass. Zoals eerder gezegd, wordt de dot (.)operator gebruikt om toegang te krijgen tot het lid van de naamruimte.

In de Main()methode wordt de myMethod()methode aangeroepen met behulp van de dot (.)operator.

Een naamruimte gebruiken in C # (het gebruik van trefwoord)

Een naamruimte kan in een programma worden opgenomen met het trefwoord using. De syntaxis is,

 met behulp van naamruimte-naam;

Bijvoorbeeld,

 systeem gebruiken;

Het voordeel van deze benadering is dat we niet elke keer dat we er toegang toe hebben de volledig gekwalificeerde naam van de leden van die naamruimte hoeven op te geven.

Zodra de lijn

 systeem gebruiken;

staat bovenaan het programma. We kunnen schrijven

 Console.WriteLine ("Hallo wereld!");

In plaats van de volledig gekwalificeerde naam, dwz

 System.Console.WriteLine ("Hallo wereld!");

Geneste naamruimte in C #

Een naamruimte kan een andere naamruimte bevatten. Het wordt geneste naamruimte genoemd. De geneste naamruimte en zijn leden zijn ook toegankelijk via de dot (.)operator.

De syntaxis voor het maken van een geneste naamruimte is als volgt:

 naamruimte MyNamespace (naamruimte NestedNamespace (// Body van geneste naamruimte)) 

Voorbeeld 2: geneste naamruimte in 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(); ) ) ) 

Wanneer we het programma uitvoeren, is de uitvoer:

 Voorbeeld van geneste naamruimte

Dit voorbeeld illustreert hoe geneste naamruimte kan worden geïmplementeerd in C #.

Hier hebben we nu een extra naamruimte binnen MyNamespacegenaamd Nested. Dus in plaats van te gebruiken MyNamespace.SampleClass.myMethod(), moeten we gebruiken MyNamespace.Nested.SampleClass.myMethod().

Interessante artikelen...