Spazi dei nomi C # (con esempi)

In questo tutorial impareremo a conoscere gli spazi dei nomi, come definirli, accedere ai suoi membri e usarli in un programma C #.

Gli spazi dei nomi vengono usati in C # per organizzare e fornire un livello di separazione dei codici. Possono essere considerati come un contenitore costituito da altri spazi dei nomi, classi, ecc.

Uno spazio dei nomi può avere i seguenti tipi come membri:

  1. Spazi dei nomi (spazio dei nomi annidato)
  2. Classi
  3. Interfacce
  4. Strutture
  5. Delegati

Discuteremo di questi argomenti nei tutorial successivi. Per ora ci limiteremo a classi e spazi dei nomi.

Gli spazi dei nomi non sono obbligatori in un programma C #, ma svolgono un ruolo importante nella scrittura di codici più puliti e nella gestione di progetti più grandi.

Comprendiamo il concetto di spazio dei nomi con uno scenario di vita reale. Abbiamo un gran numero di file e cartelle nel nostro computer. Immagina quanto sarebbe difficile gestirli se fossero inseriti in una singola directory. Questo è il motivo per cui mettiamo i file e le cartelle correlati in una directory separata. Questo ci aiuta a gestire correttamente i nostri dati.

Il concetto di spazio dei nomi è simile in C #. Ci aiuta a organizzare diversi membri inserendo membri correlati nello stesso spazio dei nomi.

Lo spazio dei nomi risolve anche il problema del conflitto di nomi . Due o più classi, se inserite in spazi dei nomi diversi, possono avere lo stesso nome.

Definizione dello spazio dei nomi in C #

Possiamo definire uno spazio dei nomi in C # utilizzando la parola chiave dello spazio dei nomi come:

 namespace Namespace-Name (// Corpo dello spazio dei nomi) 

Per esempio:

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

Nell'esempio sopra, MyNamespaceviene creato uno spazio dei nomi . Consiste di una classe MyClasscome membro. MyMethodè un metodo di classe MyClass.

Accesso ai membri dello spazio dei nomi in C #

È possibile accedere ai membri di uno spazio dei nomi utilizzando l' dot(.)operatore. La sintassi per accedere al membro dello spazio dei nomi è,

 Nome spazio dei nomi Nome membro

Ad esempio, se dobbiamo creare un oggetto di MyClass, può essere fatto come,

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

Discuteremo della creazione di oggetti nei tutorial successivi. Per ora concentrati solo su come MyClasssi accede alla classe .

Esempio 1: presentazione dello spazio dei nomi nel programma C #

 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(); ) ) ) 

Quando eseguiamo il programma, l'output sarà:

 Creazione del mio spazio dei nomi

Nel programma sopra, abbiamo creato il nostro spazio dei nomi MyNamespacee acceduto ai suoi membri dal Main()metodo interno MyClass. Come detto in precedenza, l' dot (.)operatore viene utilizzato per accedere al membro del namespace.

Nel Main()metodo, il myMethod()metodo viene chiamato utilizzando l' dot (.)operatore.

Utilizzo di uno spazio dei nomi in C # (la parola chiave using)

Uno spazio dei nomi può essere incluso in un programma utilizzando la parola chiave using. La sintassi è,

 using Namespace-Name;

Per esempio,

 using System;

Il vantaggio di questo approccio è che non dobbiamo specificare il nome completo dei membri di quello spazio dei nomi ogni volta che vi accediamo.

Una volta che la linea

 using System;

è incluso nella parte superiore del programma. Possiamo scrivere

 Console.WriteLine ("Hello World!");

Invece del nome completo, ad es

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

Spazio dei nomi annidato in C #

Uno spazio dei nomi può contenere un altro spazio dei nomi. Si chiama spazio dei nomi annidato. È inoltre possibile accedere allo spazio dei nomi annidato e ai suoi membri utilizzando l' dot (.)operatore.

La sintassi per la creazione dello spazio dei nomi nidificato è la seguente:

 namespace MyNamespace (namespace NestedNamespace (// Corpo dello spazio dei nomi nidificato)) 

Esempio 2: spazio dei nomi annidato 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(); ) ) ) 

Quando eseguiamo il programma, l'output sarà:

 Esempio di spazio dei nomi annidato

Questo esempio illustra come implementare lo spazio dei nomi annidato in C #.

Qui, ora abbiamo uno spazio dei nomi extra all'interno MyNamespacechiamato Nested. Quindi, invece di usare MyNamespace.SampleClass.myMethod(), dobbiamo usare MyNamespace.Nested.SampleClass.myMethod().

Articoli interessanti...