espacio de nombres (Referencia de C#)

La palabra clave namespace se utiliza para declarar un ámbito. Este ámbito permite organizar el código y proporciona una forma de crear tipos globalmente únicos.


namespace SampleNamespace
{
    class SampleClass { }

    interface SampleInterface { }

    struct SampleStruct { }

    enum SampleEnum { a, b }

    delegate void SampleDelegate(int i);

    namespace SampleNamespace.Nested
    {
        class SampleClass2 { }
    }
}

Comentarios

Dentro de un espacio de nombres, se pueden declarar uno o varios de los siguientes tipos:

Aunque declare explícitamente un espacio de nombres en un archivo de código fuente de C#, el compilador agrega un espacio de nombres predeterminado. Este espacio de nombres sin denominación, a veces se hace referencia a él como espacio de nombres global, está presente en todos los archivos. Cualquier identificador del espacio de nombres global puede utilizarse también en un espacio de nombres declarado.

Los espacios de nombres disponen implícitamente de un acceso público que no puede modificarse. Para obtener una descripción de los modificadores de acceso que se pueden asignar a los elementos de un espacio de nombres, vea Modificadores de acceso (Referencia de C#).

Un espacio de nombres se puede definir en dos o más declaraciones. Por ejemplo, en el siguiente ejemplo se definen dos clases como parte del espacio de nombres MyCompany:

namespace MyCompany.Proj1
{
    class MyClass
    {
    }
}

namespace MyCompany.Proj1
{
    class MyClass1
    {
    }
}

Ejemplo

El siguiente ejemplo muestra cómo realizar una llamada a un método estático en un espacio de nombres anidado.

namespace SomeNameSpace
{
    public class MyClass 
    {
        static void Main() 
        {
            Nested.NestedNameSpaceClass.SayHello();
        }
    }

    // a nested namespace
    namespace Nested   
    {
        public class NestedNameSpaceClass 
        {
            public static void SayHello() 
            {
                Console.WriteLine("Hello");
            }
        }
    }
}
// Output: Hello

Para obtener más información

Para obtener más información sobre el uso de espacios de nombres, vea los temas siguientes:

Especificación del lenguaje C#

Para obtener más información, vea la Especificación del lenguaje C#. La especificación del lenguaje es la fuente definitiva de la sintaxis y el uso de C#.

Vea también

Referencia

Palabras clave de C#

Palabras clave del espacio de nombres (Referencia de C#)

using (Referencia de C#)

Conceptos

Guía de programación de C#

Otros recursos

Referencia de C#