Diretiva using (Referência de C#)

O using diretiva tem dois usos:

  • Para permitir o uso de tipos em um namespace para que você não tem que qualificar o uso de um tipo de namespace:

    using System.Text;
    
  • Para criar um alias para um namespace ou um tipo. Isso é chamado de um usando a diretiva de alias.

    using Project = PC.MyCompany.Project;
    

O using palavra-chave também é usado para criar usando instruções, que ajudam a garantir que IDisposable objetos como, por exemplo, arquivos e fontes são manipulados corretamente. Consulte usando a instrução para obter mais informações.

Comentários

O escopo de um using diretiva está limitada ao arquivo em que ele apareça.

Criar um using alias para facilitar qualificar um identificador para um namespace ou tipo. O lado direito do uso de um alias diretriz sempre deve ser um tipo totalmente qualificado, independentemente do usando as diretivas que vêm antes dele.

Criar um using diretiva para usar os tipos em um namespace sem ter que especificar o namespace. A using diretiva não confere a você acesso a namespaces que estão aninhados no namespace que você especifica.

Namespaces vêm em duas categorias: definida pelo usuário e definidos pelo sistema. Namespaces definido pelo usuário são espaços para nome definidos no seu código. Para obter uma lista dos namespaces definidas pelo sistema, consulte .NET Framework Class Library.

Para obter exemplos sobre como fazer referência a métodos em outros assemblies, consulte Criando e usando DLLs C#.

Exemplo 1

Descrição

O exemplo a seguir mostra como definir e usar um using alias para um espaço para nome:

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 { }
        }
    }
}

Comentários

Usando uma diretiva de alias não pode ter um tipo genérico aberto no lado direito. Por exemplo, você não pode criar um alias using para obter uma lista de <T>, mas você pode criar um para obter uma lista de <int>.

Exemplo 2

Descrição

O exemplo a seguir mostra como definir um using diretiva e um using alias para uma classe:

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.

Especificação da linguagem C#

Para obter mais informações, consulte a Especificação da linguagem C#. A especificação da linguagem é a fonte definitiva para a sintaxe e o uso de C#.

Consulte também

Referência

Palavras-chave C#

Palavras-chave de namespace (Referência de C#)

Namespaces (Guia de Programação em C#)

Instrução using (Referência de C#)

Conceitos

Guia de Programação em C#

Outros recursos

Referência de C#