:: 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 alias global siempre hace referencia al espacio de nombres global, incluso si está el alias del espacio de nombres global 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 alias global, se tendría acceso al espacio de nombres System definido por el usuario, que es miembro del espacio de nombres MyCompany.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#.

Consulte también