Partager via


:: opérateur - opérateur d’alias d’espace de noms

Utilisez le qualificateur :: d’alias d’espace de noms pour accéder à un membre d’un espace de noms alias. Vous ne pouvez utiliser le :: qualificateur qu’entre deux identificateurs. L’identificateur de gauche peut être un alias d’espace de noms, un alias extern ou l’alias global . Par exemple:

  • Un alias d’espace de noms créé avec une directive d’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);
    }
    
  • Alias extern.

  • Alias global , qui est l’alias d’espace de noms global. L’espace de noms global est l’espace de noms qui contient des espaces de noms et des types qui ne sont pas déclarés à l’intérieur d’un espace de noms nommé. Lorsqu’il est utilisé avec le :: qualificateur, l’alias global fait toujours référence à l’espace de noms global, même s’il existe l’alias d’espace de noms défini par global l’utilisateur.

    L’exemple suivant utilise l’alias global pour accéder à l’espace de noms .NET System , qui est membre de l’espace de noms global. Sans l’alias global , l’espace de noms défini par System l’utilisateur, qui est membre de l’espace MyCompany.MyProduct de noms, est accessible :

    namespace MyCompany.MyProduct.System
    {
        class Program
        {
            static void Main() => global::System.Console.WriteLine("Using global alias");
        }
    
        class Console
        {
            string Suggestion => "Consider renaming this class";
        }
    }
    

    Remarque

    Le global mot clé est l’alias d’espace de noms global uniquement lorsqu’il s’agit de l’identificateur de gauche du :: qualificateur.

Vous pouvez également utiliser le . jeton pour accéder à un membre d’un espace de noms alias. Toutefois, le . jeton est également utilisé pour accéder à un membre de type. Le :: qualificateur garantit que son identificateur de gauche fait toujours référence à un alias d’espace de noms, même s’il existe un type ou un espace de noms portant le même nom.

Spécification du langage C#

Pour plus d’informations, consultez la section qualificateurs d’alias d’espace de noms de la spécification du langage C#.

Voir aussi