Явно ссылаются на класс без пространства имен в С#
В коде, в котором я работаю, есть класс с именем Среда, который не находится в каком-либо пространстве имен. К сожалению, если я в классе, который импортирует пространство имен Система, нет способа ссылаться на пользовательский класс Среда. Я знаю, что это был неудачный выбор и должен быть реорганизован, но есть ли какой-либо способ явным образом ссылаться на конфликтный класс?
В С++ кажется, что это можно сделать с помощью ::, а в Java есть что-то называемое global::. Как это сделать на С#?
Ответы
Ответ 1
С# также имеет глобальное (или неназванное) пространство имен - вы можете использовать global::
для доступа к вашему классу:
global::Environment
Подробнее о MSDN. Также смотрите оператор ::
.
Вы также можете создать для него псевдоним:
using myEnv = global::Environment;
using sysEnv = System.Environment;
Ответ 2
Должно быть global::Environment
точно так же, как в Java
Ответ 3
В коде, с которым я работаю, есть класс под названием "Среда", который не находится в каком-либо пространстве имен
Вы должны это абсолютно изменить. Или если это не ваш код, сообщите об ошибке и отложите использование до тех пор, пока ошибка не будет исправлена. Не использовать пространство имен - это абсолютный no-go.
(Несмотря на хорошо работающее решение, отправленное @Oded.)