Compartilhar via


usando a diretiva (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 as fontes são manipulados corretamente. Consulte usando a instrução para obter mais informações.

Comentários

O escopo de um using diretiva é 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 de diretiva deve ser sempre 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 lhe dar acesso para namespaces que estão aninhados no namespace que você especificar.

Namespaces vêm em duas categorias: definido 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 definido pelo sistema, consulte Biblioteca de classes .NET Framework.

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 namespace:

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 C# Language Specification A especificação de linguagem é a fonte definitiva para a sintaxe e o uso de C#.

Consulte também

Referência

C# Keywords

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

Namespaces (C# Programming Guide)

usando instrução (referência de C#)

Conceitos

C# Programming Guide

Outros recursos

C# Reference