Espacios de nombres de C # (con ejemplos)

En este tutorial, aprenderemos sobre los espacios de nombres, cómo definirlos, acceder a sus miembros y usarlos en un programa de C #.

Los espacios de nombres se utilizan en C # para organizar y proporcionar un nivel de separación de códigos. Se pueden considerar como un contenedor que consta de otros espacios de nombres, clases, etc.

Un espacio de nombres puede tener los siguientes tipos como miembros:

  1. Espacios de nombres (espacio de nombres anidado)
  2. Clases
  3. Interfaces
  4. Estructuras
  5. Delegados

Hablaremos de estos temas en tutoriales posteriores. Por ahora nos quedaremos con clases y espacios de nombres.

Los espacios de nombres no son obligatorios en un programa de C #, pero juegan un papel importante en la escritura de códigos más limpios y la gestión de proyectos más grandes.

Entendamos el concepto de espacio de nombres con un escenario de la vida real. Tenemos una gran cantidad de archivos y carpetas en nuestra computadora. Imagínese lo difícil que sería administrarlos si estuvieran ubicados en un solo directorio. Es por eso que colocamos los archivos y carpetas relacionados en un directorio separado. Esto nos ayuda a administrar nuestros datos correctamente.

El concepto de espacio de nombres es similar en C #. Nos ayuda a organizar diferentes miembros colocando miembros relacionados en el mismo espacio de nombres.

El espacio de nombres también resuelve el problema del conflicto de nombres . Dos o más clases cuando se colocan en diferentes espacios de nombres pueden tener el mismo nombre.

Definición de espacio de nombres en C #

Podemos definir un espacio de nombres en C # usando la palabra clave del espacio de nombres como:

 espacio de nombres Nombre del espacio de nombres (// Cuerpo del espacio de nombres) 

Por ejemplo:

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

En el ejemplo anterior, MyNamespacese crea un espacio de nombres . Consiste en una clase MyClasscomo miembro. MyMethodes un método de clase MyClass.

Acceso a miembros del espacio de nombres en C #

Se puede acceder a los miembros de un espacio de nombres mediante el dot(.)operador. La sintaxis para acceder al miembro del espacio de nombres es,

 Nombre del espacio de nombres Nombre del miembro

Por ejemplo, si necesitamos crear un objeto de MyClass, se puede hacer como,

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

Discutiremos sobre la creación de objetos en tutoriales posteriores. Por ahora, céntrese en cómo MyClassse accede a la clase .

Ejemplo 1: Introducción del espacio de nombres en el programa 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(); ) ) ) 

Cuando ejecutamos el programa, la salida será:

 Creando mi espacio de nombres

En el programa anterior, hemos creado nuestro propio espacio de nombres MyNamespacey hemos accedido a sus miembros desde el Main()método interno MyClass. Como se dijo anteriormente, el dot (.)operador se usa para acceder al miembro del espacio de nombres.

En el Main()método, el myMethod()método se llama mediante el dot (.)operador.

Usando un espacio de nombres en C # (la palabra clave using)

Se puede incluir un espacio de nombres en un programa utilizando la palabra clave using. La sintaxis es,

 usando el nombre del espacio de nombres;

Por ejemplo,

 usando el sistema;

La ventaja de este enfoque es que no tenemos que especificar el nombre completo de los miembros de ese espacio de nombres cada vez que accedemos a él.

Una vez que la linea

 usando el sistema;

se incluye en la parte superior del programa. Podemos escribir

 Console.WriteLine ("¡Hola mundo!");

En lugar del nombre completo, es decir

 System.Console.WriteLine ("¡Hola mundo!");

Espacio de nombres anidado en C #

Un espacio de nombres puede contener otro espacio de nombres. Se llama espacio de nombres anidado. También se puede acceder al espacio de nombres anidado y sus miembros utilizando el dot (.)operador.

La sintaxis para crear un espacio de nombres anidado es la siguiente:

 espacio de nombres MyNamespace (espacio de nombres NestedNamespace (// Cuerpo del espacio de nombres anidado)) 

Ejemplo 2: espacio de nombres anidado en 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(); ) ) ) 

Cuando ejecutamos el programa, la salida será:

 Ejemplo de espacio de nombres anidado

Este ejemplo ilustra cómo se puede implementar el espacio de nombres anidado en C #.

Aquí, ahora tenemos un espacio de nombres adicional MyNamespacellamado Nested. Entonces, en lugar de usar MyNamespace.SampleClass.myMethod(), tenemos que usar MyNamespace.Nested.SampleClass.myMethod().

Articulos interesantes...