Compartir a través de


:: operador : el operador de alias de espacio de nombres

Use el calificador :: de alias de espacio de nombres para acceder a un miembro de un espacio de nombres con alias. Puede usar el :: calificador solo entre dos identificadores. El identificador izquierdo puede ser uno de los alias de un espacio de nombres, un alias extern o el global alias. Por ejemplo:

  • Alias de espacio de nombres creado con una directiva 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);
    }
    
  • Alias extern.

  • Alias global , que es el alias de espacio de nombres global. El espacio de nombres global es el espacio de nombres que contiene espacios de nombres y tipos que no se declaran dentro de un espacio de nombres con nombre. Cuando se usa con el :: calificador, el global alias siempre hace referencia al espacio de nombres global, incluso si hay el alias de espacio de nombres definido por global el usuario.

    En el ejemplo siguiente se usa el global alias para tener acceso al espacio de nombres de .NET System , que es miembro del espacio de nombres global. Sin el global alias, se tendría acceso al espacio de nombres definido por System el usuario, que es miembro del MyCompany.MyProduct espacio de nombres:

    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 global palabra clave 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 . token también se usa para acceder a un miembro de tipo. El :: calificador garantiza que su identificador izquierdo siempre haga referencia a un alias de espacio de nombres, incluso si existe un tipo o un espacio de nombres con el mismo nombre.

Especificación del lenguaje C#

Para obtener más información, consulte la sección Calificadores de alias de espacio de nombres de la especificación del lenguaje C#.

Consulte también