:: 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, oglobal
alias sempre faz referência ao namespace global, mesmo que haja o alias de namespace definidoglobal
pelo usuário.O exemplo a seguir usa o
global
alias para acessar o namespace .NET System , que é um membro do namespace global. Sem oglobal
alias, o namespace definidoSystem
pelo usuário, que é um membro doMyCompany.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#.