Partilhar via


:: operador - o operador alias do namespace

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

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

    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 externo.

  • O global alias, que é o alias de 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 global alias 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 global alias para acessar o namespace .NET System , que é um membro do namespace global. Sem o global alias, o namespace definido System pelo 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";
        }
    }
    

    Nota

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

Você também pode usar o . token para acessar um membro de um namespace com alias. No entanto, o . token também é usado para acessar um membro do tipo. O :: qualificador garante que seu identificador esquerdo sempre faça referência a um alias de namespace, mesmo que exista 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 de namespace da especificação da linguagem C#.

Consulte também