:: operador : el operador de alias del espacio de nombres
Use el calificador de alias de espacio de nombres ::
para acceder a un miembro del espacio de nombres con alias. Solo puede usar el calificador ::
entre dos identificadores. El identificador izquierdo puede ser uno de un alias de espacio de nombres, un alias extern o el global
alias. Por ejemplo:
Un alias de espacio de nombres creado con una directiva de alias using:
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); }
Un alias externo.
El alias
global
, que es el alias del espacio de nombres global. El espacio de nombres global es el espacio de nombres que contiene los espacios de nombres y los tipos que no se declaran dentro de un espacio de nombres con nombre. Cuando se usa con el calificador::
, el aliasglobal
siempre hace referencia al espacio de nombres global, incluso si está el alias del espacio de nombresglobal
definido por el usuario.En el ejemplo siguiente se usa el alias
global
para tener acceso al espacio de nombres System de .NET, que es miembro del espacio de nombres global. Sin el aliasglobal
, se tendría acceso al espacio de nombresSystem
definido por el usuario, que es miembro del espacio de nombresMyCompany.MyProduct
: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:
La palabra clave
global
es el alias de espacio de nombres global solo cuando es el identificador izquierdo del calificador::
.
También puede usar el token .
para acceder a un miembro de un espacio de nombres con alias. Sin embargo, el operador .
también se usa para acceder a un miembro del tipo. El calificador ::
garantiza que el identificador de la izquierda siempre hace referencia a un alias de espacio de nombres, aunque exista un tipo o un espacio de nombres con el mismo nombre.
Especificación del lenguaje C#
Para más información, consulte la sección sobre calificadores de alias de espacio de nombres de la Especificación del lenguaje C#.