Declaración de espacios de nombres para organizar los tipos
Los espacios de nombres se usan mucho en programación de C# de dos maneras. En primer lugar, .NET usa espacios de nombres para organizar sus clases de la siguiente manera:
System.Console.WriteLine("Hello World!");
System es un espacio de nombres y Console es una clase de ese espacio de nombres. La palabra clave using
se puede usar para que el nombre completo no sea necesario, como en el ejemplo siguiente:
using System;
Console.WriteLine("Hello World!");
Para más información, vea using (Directiva).
Importante
Las plantillas de C# para .NET 6 usan instrucciones de nivel superior. Es posible que la aplicación no coincida con el código de este artículo si ya ha actualizado a .NET 6. Para obtener más información, consulte el artículo Las nuevas plantillas de C# generan instrucciones de nivel superior.
El SDK de .NET 6 también agrega un conjunto de directivas implícitasglobal using
para proyectos que usan los SDK siguientes:
- Microsoft.NET.Sdk
- Microsoft.NET.Sdk.Web
- Microsoft.NET.Sdk.Worker
Estas directivas de global using
implícitas incluyen los espacios de nombres más comunes para el tipo de proyecto.
En segundo lugar, declarar sus propios espacios de nombres puede ayudarle a controlar el ámbito de nombres de clase y método en proyectos de programación grandes. Use la palabra clave namespace para declarar un espacio de nombres, como en el ejemplo siguiente:
namespace SampleNamespace
{
class SampleClass
{
public void SampleMethod()
{
System.Console.WriteLine(
"SampleMethod inside SampleNamespace");
}
}
}
El nombre del espacio de nombres debe ser un nombre de identificador de C# válido.
A partir de C# 10, puede declarar un espacio de nombres para todos los tipos definidos en ese archivo, como se muestra en el ejemplo siguiente:
namespace SampleNamespace;
class AnotherSampleClass
{
public void AnotherSampleMethod()
{
System.Console.WriteLine(
"SampleMethod inside SampleNamespace");
}
}
La ventaja de esta nueva sintaxis es que es más sencilla, lo que ahorra espacio horizontal y llaves. Esto facilita la lectura del código.
Información general sobre los espacios de nombres
Los espacios de nombres tienen las propiedades siguientes:
- Organizan proyectos de código de gran tamaño.
- Se delimitan mediante el operador
.
. - La directiva
using
obvia la necesidad de especificar el nombre del espacio de nombres para cada clase. - El espacio de nombres
global
es el espacio de nombres "raíz":global::System
siempre hará referencia al espacio de nombres System de .NET.
Especificación del lenguaje C#
Para más información, vea la sección Espacio de nombres de la Especificación del lenguaje C#.