Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
12 / 12 / 4
Регистрация: 07.09.2012
Сообщений: 542

Можно ли убрать видимость пространства имен заданного с помощью директивы using?

27.01.2014, 17:29. Показов 2654. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Можно ли убрать видимость пространства имен заданного с помощью директивы using?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.01.2014, 17:29
Ответы с готовыми решениями:

Видимость пространства имен в сборке
Привет, форумчане. Вопрос максимально тупой, но мучаюсь уже с утра и целый день.... Создаю обычное Console приложение. Добавляю в проект...

В чем разница между подключением пространства имен в начале файла и внутри другого пространства имен?
Привет! Есть свой класс: namespace MyNamespace { public class MyClass { }

Как воспроизвести AudioCD, записаный с помощью пространства имен Medi
Доброе время суток. Нужна помощь в решении такого задания: Есть записаный AudioCD с помощью пространства имен Medi, мне нужно создать плеер...

6
 Аватар для antsa
19 / 19 / 4
Регистрация: 04.07.2010
Сообщений: 86
27.01.2014, 18:10
Я так понимаю, using нужен для того чтобы CLR понимала где искать классы которые ты используешь в своем коде. Можно, конечно, явно показывать в каком пространстве имен находится твой класс, например:
C#
1
2
3
4
5
6
7
8
9
10
11
12
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            double a = System.Math.Sqrt(16);
            System.Console.WriteLine(a);
            System.Console.ReadKey();
        }
    }
}
А можно просто указать пространство имен и компилятор сам найдет Console и Math:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
using System;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            double a = Math.Sqrt(16);
            Console.WriteLine(a);
            Console.ReadKey();
        }
    }
}
Это было под формулировкой:
Цитата Сообщение от klynxe Посмотреть сообщение
Можно ли убрать видимость пространства имен заданного с помощью директивы using?
или что то другое?
0
12 / 12 / 4
Регистрация: 07.09.2012
Сообщений: 542
28.01.2014, 00:58  [ТС]
Это был вопрос к уже после указания, можно ли его потом убрать? То есть если мне дальше нужно убрать пространство имен и задать другое, в котором тоже есть класс с такими именами, и именно задать новое пространство имен, а не добавить к старому?
0
 Аватар для Kill100
434 / 299 / 82
Регистрация: 11.12.2010
Сообщений: 1,209
28.01.2014, 01:06
Цитата Сообщение от klynxe Посмотреть сообщение
Это был вопрос к уже после указания, можно ли его потом убрать? То есть если мне дальше нужно убрать пространство имен и задать другое, в котором тоже есть класс с такими именами, и именно задать новое пространство имен, а не добавить к старому?
Нет в этом случае только явно указывать к какому из пространств относится класс. Или попытаться его переименовать если возможно

Добавлено через 2 минуты
ну или как вариант переопределить
C#
1
2
3
4
5
  
using NS= MyNameS.Project;
...
...
NS.MyClass mc = new NS.MyClass();
0
10 / 25 / 9
Регистрация: 08.12.2013
Сообщений: 115
28.01.2014, 01:58
Цитата Сообщение от klynxe Посмотреть сообщение
Это был вопрос к уже после указания, можно ли его потом убрать?
Есть атрибут, который создает видимость принадлежности класса пространству имен к которому он на самом деле не принадлежит. Название сам ищи.
0
 Аватар для kodv
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
28.01.2014, 11:34
Цитата Сообщение от klynxe Посмотреть сообщение
То есть если мне дальше нужно убрать пространство имен и задать другое, в котором тоже есть класс с такими именами, и именно задать новое пространство имен, а не добавить к старому?
В MSDN написано четко: область директивы using - файл. Если для вас так принципиально, чтобы не писать полное имя классов в подобных ситуациях, то разбивайте свой код на несколько файлов. Модификатор partial еще никто не отменял.
0
12 / 12 / 4
Регистрация: 07.09.2012
Сообщений: 542
28.01.2014, 14:12  [ТС]
Цитата Сообщение от kodv Посмотреть сообщение
В MSDN написано четко: область директивы using - файл. Если для вас так принципиально, чтобы не писать полное имя классов в подобных ситуациях, то разбивайте свой код на несколько файлов. Модификатор partial еще никто не отменял.
Это все понятно, интересовало возможно ли отменить действие этой дерективы

Наиболее близкий вариант
Цитата Сообщение от Kill100 Посмотреть сообщение
using NS= MyNameS.Project;
...
...
NS.MyClass mc = new NS.MyClass();
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.01.2014, 14:12
Помогаю со студенческими работами здесь

Видимость пространства имен в VS2013
#include <iostream> int main() { using namespace std; cout << "Hello world!"; return 0; } В MSVS2013 упорно...

Можно ли избавиться от использования пространства имен в коде?
int main() { X::var = 7; X::print(); using namespace Y; var = 9; print(); { using Z::var; using Z::print;

Имя типа или пространства имен отсутствует в пространстве имен
Подскажите решение проблемы. Целиком код:

Не возникает ли коллизия имен, если использовать два пространства имен, и в каждом из них будут одноименные?
Вот например namespace nms1 { int gh; } namespace nms2 { int gh;

Видимость переменных и директивы препроцессору, не видит поле
Есть поле public float zoomSpeed = 0; Есть метод, в нем строки для разных платформ. void LateUpdate() { #if...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru