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{}
}
}
Dentro de un espacio de nombres, se pueden declarar uno o varios de los siguientes tipos:
-
otro espacio de nombres
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 denominado 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, consulte 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:
// cs_namespace_keyword.cs
// compile with: /target:library
namespace MyCompany.Proj1
{
class MyClass
{
}
}
namespace MyCompany.Proj1
{
class MyClass1
{
}
}
El siguiente ejemplo muestra cómo realizar una llamada a un método estático en un espacio de nombres anidado.
// cs_namespace_keyword_2.cs
using System;
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");
}
}
}
}
Resultados
Hello
Para obtener más información acerca del uso de espacios de nombres, consulte los temas siguientes:
Para obtener más información, vea las secciones siguientes de Especificación del lenguaje C#.
-
3.4.1 Miembros de espacios de nombres
-
3.8 Espacios de nombres y nombres de tipos
-
9 Espacios de nombres
Referencia
Palabras clave de C#Palabras clave del espacio de nombres (Referencia de C#)
using (Referencia de C#)