Compartilhar via


:: operador - o operador de alias do namespace

Use o qualificador :: de alias do namespace para acessar um membro de um namespace aliased. Você pode usar o :: qualificador somente entre dois identificadores. O identificador esquerdo pode ser um de um alias de namespace, um alias extern ou o alias global . Por exemplo:

  • Um alias de namespace criado com uma diretiva de alias usando:

    using forwinforms = System.Drawing;
    using forwpf = System.Windows;
    
    public class Converters
    {
        public static forwpf::Point Convert(forwinforms::Point point) => new forwpf::Point(point.X, point.Y);
    }
    
  • Um alias extern.

  • O alias global , que é o alias do namespace global. O namespace global é o namespace que contém namespaces e tipos que não são declarados dentro de um namespace nomeado. Quando usado com o :: qualificador, o alias global sempre faz referência ao namespace global, mesmo que haja o alias de namespace definido global pelo usuário.

    O exemplo a seguir usa o alias global para acessar o namespace do .NET System , que é um membro do namespace global. Sem o alias global , o namespace definido pelo System usuário, que é um membro do MyCompany.MyProduct namespace, seria acessado:

    namespace MyCompany.MyProduct.System
    {
        class Program
        {
            static void Main() => global::System.Console.WriteLine("Using global alias");
        }
    
        class Console
        {
            string Suggestion => "Consider renaming this class";
        }
    }
    

    Observação

    A global palavra-chave é o alias de namespace global somente quando é o identificador à esquerda do :: qualificador.

Você também pode usar o . token para acessar um membro de um namespace aliased. No entanto, o . token também é usado para acessar um membro do tipo. O :: qualificador garante que seu identificador à esquerda sempre faça referência a um alias de namespace, mesmo se houver um tipo ou namespace com o mesmo nome.

Especificação da linguagem C#

Para obter mais informações, consulte a seção qualificadores de alias do namespace da especificação da linguagem C#.

Consulte também