Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Используйте квалификатор ::
пространства имен для доступа к члену псевдонима пространства имен. Квалификатор можно использовать ::
только между двумя идентификаторами. Идентификатор слева может быть одним из псевдонимов пространства имен, экстерна или псевдонима global
. Рассмотрим пример.
Псевдоним пространства имен, созданный с помощью директивы псевдонима:
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); }
Псевдоним
global
, являющийся псевдонимом глобального пространства имен. Глобальное пространство имен — это пространство имен, содержащее пространства имен и типы, которые не объявлены внутри именованного пространства имен. При использовании с::
квалификаторомglobal
псевдоним всегда ссылается на глобальное пространство имен, даже если есть псевдоним пользовательскогоglobal
пространства имен.В следующем примере псевдоним используется
global
для доступа к пространству имен .NET System , являющегося членом глобального пространства имен.global
Без псевдонима доступ к пространству имен, определяемомуSystem
пользователем, являющемся членом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"; } }
Замечание
Ключевое
global
слово — это псевдоним глобального::
пространства имен, только если это левый идентификатор квалификатора.
Маркер можно также использовать.
для доступа к члену псевдонимированного пространства имен.
.
Однако маркер также используется для доступа к члену типа. Квалификатор ::
гарантирует, что его левый идентификатор всегда ссылается на псевдоним пространства имен, даже если существует тип или пространство имен с тем же именем.
Спецификация языка C#
Дополнительные сведения см. в разделе квалификаторов пространства именспецификации языка C#.