Сообщество программистов Autodesk в СНГ

ADN Club => AutoCAD .NET API => Тема начата: Алексей (IdeaSoft) от 12-09-2020, 09:37:57

Название: Как подключить Net сборку один раз на все мои модули
Отправлено: Алексей (IdeaSoft) от 12-09-2020, 09:37:57
Сейчас мне приходится в каждом модуле писать
using для того чтобы импортировать сборки

// Модуль первый
using cad_Aps = Autodesk.AutoCAD.ApplicationServices;

// Модуль второй
using cad_Aps = Autodesk.AutoCAD.ApplicationServices;

Возможно ли сделать подключения сборок в одном общем модуле,
а общий модуль подключать одной строкой в каждый модуль?

Название: Re: Как подключить Net сборку один раз на все мои модули
Отправлено: avc от 12-09-2020, 10:44:59
Позанудствую немного: подключение библиотеки к проекту делается 1 раз в разделе "Ссылки". А using - это ж только сокращение имен. Можно не писать ни одного using и каждый раз писать полное имя Autodesk.AutoCAD.ApplicationServices....
Как-то меня никогда не напрягало скопировать все using в каждый новый файл... Но в самом деле если был бы какой-нибудь #include - было бы не плохо...
Название: Re: Как подключить Net сборку один раз на все мои модули
Отправлено: Lemieux от 12-09-2020, 11:37:32
Шаблоны, сниппеты не канают?
Название: Re: Как подключить Net сборку один раз на все мои модули
Отправлено: avc от 12-09-2020, 12:04:01
Пока искал, что такое снипеты, нашел, что Панель Элементов (https://professorweb.ru/my/programs/visual-studio/level2/2_17.php (https://professorweb.ru/my/programs/visual-studio/level2/2_17.php)) с текстами работает тоже. Вот это пожалуй оптимальное решение для вставки пачки using-ов
Название: Re: Как подключить Net сборку один раз на все мои модули
Отправлено: Lemieux от 12-09-2020, 16:24:43
Пока искал, что такое снипеты, нашел, что Панель Элементов (https://professorweb.ru/my/programs/visual-studio/level2/2_17.php (https://professorweb.ru/my/programs/visual-studio/level2/2_17.php)) с текстами работает тоже. Вот это пожалуй оптимальное решение для вставки пачки using-ов
У меня транзакция в сниппет записана, очень удобно.
Название: Re: Как подключить Net сборку один раз на все мои модули
Отправлено: Алексей (IdeaSoft) от 12-09-2020, 18:58:48
Позанудствую немного: подключение библиотеки к проекту делается 1 раз в разделе "Ссылки". А using - это ж только сокращение имен. Можно не писать ни одного using и каждый раз писать полное имя Autodesk.AutoCAD.ApplicationServices....
Но каждый раз писать полный путь пространства имение - это ж как код тогда раздуется.
Поэтому я то и использую свои имена пространств.

Код - C# [Выбрать]
  1. using myName = Autodesk.Autocad...'

И при использовании своих имен я исключаю конфликты совпадающих имен
Например были проблемы с типовыми именами "Point3d" и "Point2d" - это распространенные
имена, которые попадаются в других сборках. Были конфликты с именем Exception
 
Название: Re: Как подключить Net сборку один раз на все мои модули
Отправлено: Алексей (IdeaSoft) от 12-09-2020, 19:27:27
Шаблоны, сниппеты не канают?
Cнипет - это регион в который сворачивается нужная часть кода в рамках одного модуля?
Я их тоже использую когда модуль большой
А я хотел сделать один модуль в котором подключил бы все нужные сборки, а это модуль уже прицепом к о всем нужным мне модулям
В С++ же так h-файлы так можно подключать.

 
Название: Re: Как подключить Net сборку один раз на все мои модули
Отправлено: Александр Ривилис от 12-09-2020, 20:06:08
В С++ же так h-файлы так можно подключать.
В .NET (и в C# в частности) нет #include, как в C/C++
Поэтому в любом случае все свои using нужно вставлять самостоятельно. IMHO это самая маленькая проблема при программировании на C#.
Название: Re: Как подключить Net сборку один раз на все мои модули
Отправлено: Алексей (IdeaSoft) от 12-09-2020, 20:09:19
╔══════════════════════════════════════╗
║ $                                  $ ║
║                                      ║
║ !!!!! ВСЕХ C ДНЕМ ПРОГРАММИСТА !!!!! ║
║                                      ║
║     Желаю творческих успехов и       ║
║       благополучия во всём!          ║
║                                      ║
║ $                                  $ ║
╚══════════════════════════════════════╝
Название: Re: Как подключить Net сборку один раз на все мои модули
Отправлено: Алексей (IdeaSoft) от 12-09-2020, 20:10:43
это самая маленькая проблема
Я бы даже сказал мизерная.
Название: Re: Как подключить Net сборку один раз на все мои модули
Отправлено: Привалов Дмитрий от 13-09-2020, 07:35:52
╔══════════════════════════════════════╗
║ $                                  $ ║
║                                      ║
║ !!!!! ВСЕХ C ДНЕМ ПРОГРАММИСТА !!!!! ║
║                                      ║
║     Желаю творческих успехов и       ║
║       благополучия во всём!          ║
║                                      ║
║ $                                  $ ║
╚══════════════════════════════════════╝


Спасибо! Всех также!

Off-Topic: показать
Какая полезная тема, открыл для себя много новых терминов и возможностей использования!  :D
Название: Re: Как подключить Net сборку один раз на все мои модули
Отправлено: Дмитрий Загорулькин от 14-09-2020, 11:22:59
Если действительно напрягает вставка-ввод пространств имён - то, думаю, что, действительно, шаблон класса должен решить эту проблему. Достаточно один раз сделать и всегда использовать.
Но сейчас IDE уже доросли до того, что сами могут вставлять необходимые using (и не только вставлять: подчищать, сортировать...). Мне достаточно ввести в коде, например, 'Editor' - VS или Rider сразу предлагают пространство имён для него. Если несколько доступных (как, например, часто бывает с Application) - выбор из списка. IDE сама умеет алиасы генерировать чтобы конфликты исключить. Так что, на мой взгляд, проблемы с этим быть не должно. Не забивайте этим голову  :)
Название: Re: Как подключить Net сборку один раз на все мои модули
Отправлено: Привалов Дмитрий от 14-09-2020, 12:04:43
шаблон класса должен решить эту проблему.

Еще вариант, если не будете сворачивать код в snippets на день программиста, то сможете заполнить в  snippets  поле Shortcut.
Например <Shortcut>using</Shortcut>

Будет достаточно набрать в коде using и нажать TAB
Если у Вас 1 snippets c Shortcut=using то сразу вставиться код, если больше, то выйдет список, где можете выбрать нужный.