Подтвердить что ты не робот

Явно ссылаются на класс без пространства имен в С#

В коде, в котором я работаю, есть класс с именем Среда, который не находится в каком-либо пространстве имен. К сожалению, если я в классе, который импортирует пространство имен Система, нет способа ссылаться на пользовательский класс Среда. Я знаю, что это был неудачный выбор и должен быть реорганизован, но есть ли какой-либо способ явным образом ссылаться на конфликтный класс?

В С++ кажется, что это можно сделать с помощью ::, а в Java есть что-то называемое global::. Как это сделать на С#?

4b9b3361

Ответ 1

С# также имеет глобальное (или неназванное) пространство имен - вы можете использовать global:: для доступа к вашему классу:

global::Environment 

Подробнее о MSDN. Также смотрите оператор ::.

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

using myEnv = global::Environment;
using sysEnv = System.Environment;

Ответ 2

Должно быть global::Environment точно так же, как в Java

Ответ 3

В коде, с которым я работаю, есть класс под названием "Среда", который не находится в каком-либо пространстве имен

Вы должны это абсолютно изменить. Или если это не ваш код, сообщите об ошибке и отложите использование до тех пор, пока ошибка не будет исправлена. Не использовать пространство имен - это абсолютный no-go.

(Несмотря на хорошо работающее решение, отправленное @Oded.)