Конфликт пространства имен в C # - PullRequest
37 голосов
/ 15 апреля 2011

Внутри пространства имен моей программы есть пространство System.И в результате я не вижу стандартного пространства имен System внутри себя.Как я могу решить эту проблему?

enter image description here

Например, в C ++ есть оператор ::, который «вытесняет» меня из моего пространства имен, поэтому я могу видеть внешние пространства имен с помощьюто же имя, что и мое текущее пространство имен:

enter image description here

Есть ли аналогичный оператор в C #?

Ответы [ 4 ]

81 голосов
/ 15 апреля 2011

Вам необходимо использовать ключевое слово global. Это заставляет разрешение пространства имен начинаться с самого верха. В основном он используется в сгенерированном коде, чтобы быть вдвойне уверенным, что на правильное пространство имен ссылаются.

 global::System.Foo.Bar;

Некоторая документация MSDN: http://msdn.microsoft.com/en-us/library/c3ay4x3d.aspx

13 голосов
/ 15 апреля 2011

Для большего удобства вы также можете задать ему псевдоним:

using GSystem = global::System;

Позволит вам ссылаться на глобальное пространство имен System как GSystem или как угодно, как бы вы хотели его называть.

4 голосов
/ 15 апреля 2011

Вы можете использовать global

4 голосов
/ 15 апреля 2011

да

global::System

Странно, что у вас конфликт с системой.

Ничто не должно объявлять это пространство имен, кроме самой системы ....

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...