:: opérateur - opérateur d’alias d’espace de noms
Utilisez le qualificateur d’alias d’espace de noms ::
pour accéder au membre d’un espace de noms avec 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 externe ou l’alias global
. Par exemple :
Un alias d’espace de noms créé avec la directive 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); }
Un alias externe.
L’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 dans un espace de noms nommé. Quand il est utilisé avec le qualificateur::
, l’aliasglobal
référence toujours l’espace de noms global, même si l’alias d’espace de nomsglobal
défini par l’utilisateur est présent.L’exemple suivant utilise l’alias
global
pour accéder à l’espace de noms .NET System, qui est un membre de l’espace de noms global. Sans l’aliasglobal
, l’accès se ferait à l’espace de nomsSystem
défini par l’utilisateur, qui est un membre de l’espace de nomsMyCompany.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"; } }
Notes
Le mot clé
global
est l’alias d’espace de noms global seulement quand 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 avec alias. Toutefois, le jeton .
est également utilisé pour accéder à un membre de type. Le qualificateur ::
garantit que son identificateur de gauche référence toujours 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#.