Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Lenguaje C

Espacios de nombres (Namespaces) en C#: Evitando conflictos de nombres

Un namespace (espacio de nombres) está diseñado para proporcionar una forma de mantener un conjunto de nombres separado de otro. Los nombres de clases declarados en un namespace no entran en conflicto con los mismos nombres declarados en otro.

Definición de un namespace

Una definición de namespace comienza con la palabra clave namespace seguida del nombre:

namespace nombre_namespace {
    // declaraciones de código
}

Para llamar a la versión habilitada para namespace de una función o variable, anteponga el nombre del namespace:

nombre_namespace.nombre_elemento;

Ejemplo: Uso de namespaces

using System;
namespace primer_espacio {
    class clase_namespace {
        public void func() {
            Console.WriteLine("Dentro de primer_espacio");
        }
    }
}

namespace segundo_espacio {
    class clase_namespace {
        public void func() {
            Console.WriteLine("Dentro de segundo_espacio");
        }
    }
}

class ClasePrueba {
    static void Main(string[] args) {
        primer_espacio.clase_namespace fc = new primer_espacio.clase_namespace();
        segundo_espacio.clase_namespace sc = new segundo_espacio.clase_namespace();
        fc.func();
        sc.func();
        Console.ReadKey();
    }
}

Resultado:

Dentro de primer_espacio
Dentro de segundo_espacio

La palabra clave using

La palabra clave using indica que el programa está usando los nombres en el namespace dado. Por ejemplo, usamos el namespace System en nuestros programas. La clase Console está definida allí. Solo escribimos:

Console.WriteLine("Hola");

Podríamos haber escrito el nombre completo:

System.Console.WriteLine("Hola");

También puede evitar anteponer namespaces con la directiva using. Esto indica al compilador que el código subsiguiente usa nombres en el namespace especificado.

Ejemplo con directiva using:

using System;
using primer_espacio;
using segundo_espacio;

namespace primer_espacio {
    class abc {
        public void func() {
            Console.WriteLine("Dentro de primer_espacio");
        }
    }
}

namespace segundo_espacio {
    class efg {
        public void func() {
            Console.WriteLine("Dentro de segundo_espacio");
        }
    }
}

class ClasePrueba {
    static void Main(string[] args) {
        abc fc = new abc();
        efg sc = new efg();
        fc.func();
        sc.func();
        Console.ReadKey();
    }
}

Resultado:

Dentro de primer_espacio
Dentro de segundo_espacio

Namespaces anidados

Puede definir un namespace dentro de otro:

namespace nombre_namespace1 {
    // declaraciones
    namespace nombre_namespace2 {
        // declaraciones
    }
}

Acceda a miembros de namespace anidado usando el operador punto (.):

using System;
using primer_espacio;
using primer_espacio.segundo_espacio;

namespace primer_espacio {
    class abc {
        public void func() {
            Console.WriteLine("Dentro de primer_espacio");
        }
    }
    
    namespace segundo_espacio {
        class efg {
            public void func() {
                Console.WriteLine("Dentro de segundo_espacio");
            }
        }
    }
}

class ClasePrueba {
    static void Main(string[] args) {
        abc fc = new abc();
        efg sc = new efg();
        fc.func();
        sc.func();
        Console.ReadKey();
    }
}

Resultado:

Dentro de primer_espacio
Dentro de segundo_espacio

Lenguaje C

  1. C# Hola Mundo – Construyendo su primera aplicación en C#
  2. Entendiendo palabras clave e identificadores en C#: Reglas, listas y mejores prácticas
  3. Domine variables y tipos de datos primitivos en C#: Guía completa
  4. Operadores en C# – Guía completa de operadores en C#
  5. Dominando operadores bit a bit y de desplazamiento en C#: Guía completa
  6. Fundamentos de C#: Entrada y salida esenciales
  7. Expresiones, sentencias y bloques en C#: Guía completa con ejemplos prácticos
  8. Dominando los comentarios en C#: Tipos, mejores prácticas y documentación XML
  9. Dominando la sentencia switch en C#: Sintaxis, ejemplos y mejores prácticas
  10. Operador ternario en C#: Guía concisa para expresiones condicionales
  11. Sentencia break en C#: Cómo y cuándo usarla