using (Directiva, Referencia de C#)

La directiva using se utiliza para:

  • Permitir el uso de tipos en un espacio de nombres, de modo que no sea necesario calificar el uso de un tipo en dicho espacio de nombres:

    using System.Text;
    
  • Crear un alias para un espacio de nombres o un tipo. Esto se denomina directiva de alias using.

    using Project = PC.MyCompany.Project;
    

La palabra clave using también se utiliza para crear instrucciones using, que garantizan un control correcto de los objetos IDisposable, como archivos y fuentes. Vea using (Instrucción, Referencia de C#) para obtener más información.

Comentarios

El ámbito de una directiva using se limita al archivo en el cual aparece.

Cree un alias using para que sea más fácil calificar un identificador de un espacio de nombres o tipo. El lado derecho de una directiva de alias using siempre debe ser un tipo completo, independientemente de las directivas using precedentes.

Cree una directiva using para utilizar los tipos de un espacio de nombres sin tener que especificar el espacio de nombres. Una directiva using no proporciona acceso a ningún espacio de nombres anidado en el espacio de nombres especificado.

Los espacios de nombres se dividen en dos categorías: definidos por el usuario y definidos por el sistema. Los espacios de nombres definidos por el usuario se definen en el código fuente. Para obtener una lista de los espacios de nombres definida por el sistema, vea biblioteca de clases de .NET Framework..

Para ver ejemplos sobre cómo hacer referencia a métodos en otros ensamblados, vea Crear y utilizar archivos DLL de C#.

Ejemplo 1

Descripción

El siguiente ejemplo muestra cómo definir y utilizar un alias using para un espacio de nombres:

Código

namespace PC
{
    // Define an alias for the nested namespace. 
    using Project = PC.MyCompany.Project;
    class A
    {
        void M()
        {
            // Use the alias
            Project.MyClass mc = new Project.MyClass();
        }
    }
    namespace MyCompany
    {
        namespace Project
        {
            public class MyClass { }
        }
    }
}

Comentarios

Una directiva de alias using no puede tener un tipo genérico abierto en el lado derecho. Por ejemplo, no se puede crear un alias using para un objeto List<T>, pero sí para un objeto List<int>.

Ejemplo 2

Descripción

El siguiente ejemplo muestra cómo definir una directiva using y un alias using para una clase:

Código

using System;

// Using alias directive for a class. 
using AliasToMyClass = NameSpace1.MyClass;

// Using alias directive for a generic class. 
using UsingAlias = NameSpace2.MyClass<int>;

namespace NameSpace1
{
    public class MyClass
    {
        public override string ToString()
        {
            return "You are in NameSpace1.MyClass.";
        }
    }

}

namespace NameSpace2
{
    class MyClass<T>
    {
        public override string ToString()
        {
            return "You are in NameSpace2.MyClass.";
        }
    }
}

namespace NameSpace3
{
    // Using directive: 
    using NameSpace1;
    // Using directive: 
    using NameSpace2;

    class MainClass
    {
        static void Main()
        {
            AliasToMyClass instance1 = new AliasToMyClass();
            Console.WriteLine(instance1);

            UsingAlias instance2 = new UsingAlias();
            Console.WriteLine(instance2);

        }
    }
}
// Output:  
//    You are in NameSpace1.MyClass. 
//    You are in NameSpace2.MyClass.

Especificación del lenguaje C#

Para obtener más información, consulte 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#)

Espacios de nombres (Guía de programación de C#)

using (Instrucción, Referencia de C#)

Conceptos

Guía de programación de C#

Otros recursos

Referencia de C#