|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
Я создал Solution - Tests. В Solution я создал несколько ConsoleApp - Test1, Test2, Test3. И я прогоняю их один за другим Test1.exe, Test2.exe, Test3.exe. Но мне нужен общий класс с глобальными объектами которые я мог бы передавать от Test1.exe к Test2.exe. Как это сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2021, 15:59 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
если программы запускаются последовательно, то все объекты, которые будут созданы в Test1 будут удалены из памяти, когда она завершится и запустится Test2 То есть результаты надо сохранять в файл или перенаправить через console pipes в приложение Test2. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2021, 16:14 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
Roman Mejtes если программы запускаются последовательно, то все объекты, которые будут созданы в Test1 будут удалены из памяти, когда она завершится и запустится Test2 То есть результаты надо сохранять в файл или перенаправить через console pipes в приложение Test2. так это не результаты это объекты. я работаю с карточками, скажем 16 выходов (релей) подключенных по USB. производитель карточек дает dll для .Net я хочу инициализировать девайс в Test1 Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52.
а включать-выключать реле в Test2 Код: c# 1. 2.
тогда Код: c# 1. 2. 3.
должны быть глобальными для обеих. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2021, 16:32 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
jenya7 должны быть глобальными для обеих. Ну синглтон же банальный. Если религия не позволяет сделать это в классическом виде, то DI в singleton scope. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2021, 20:31 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
Сон Веры Павловны jenya7 должны быть глобальными для обеих. Ну синглтон же банальный. Если религия не позволяет сделать это в классическом виде, то DI в singleton scope. это как? засунуть объекты в dll и линковать его к каждому проекту? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2021, 20:36 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
jenya7 это как? засунуть объекты в dll и линковать его к каждому проекту? Ты скажи, что ты имеешь в виду под jenya7 общий класс с глобальными объектами которые я мог бы передавать от Test1.exe к Test2.exe. А, впрочем, понял. Это тебе какой-нибудь IPC нужен. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2021, 20:42 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
Сон Веры Павловны jenya7 должны быть глобальными для обеих. Ну синглтон же банальный. Если религия не позволяет сделать это в классическом виде, то DI в singleton scope. Какой, к лешему, синглетон - у него ведь все по разным процессам (как я понял). ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2021, 20:46 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
архитектуру нужно просто нормальную, а не это нечто идея делать 1 объект на 3 процесса, влечет за собой огромные проблемы с синхронизацией этого объекта, не между потоками, а между процессами. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2021, 20:58 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
Roman Mejtes архитектуру нужно просто нормальную, а не это нечто идея делать 1 объект на 3 процесса, влечет за собой огромные проблемы с синхронизацией этого объекта, не между потоками, а между процессами. а как сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2021, 21:04 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
fkthat Сон Веры Павловны пропущено... Ну синглтон же банальный. Если религия не позволяет сделать это в классическом виде, то DI в singleton scope. Какой, к лешему, синглетон - у него ведь все по разным процессам (как я понял). в принципе я из разных процессов обращаюсь к общим статическим объектам в рамках одного проекта. может то же самое можно делать и с несколькими проектами. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2021, 21:07 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
jenya7 в принципе я из разных процессов обращаюсь к общим статическим объектам в рамках одного проекта. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2021, 21:21 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
Shocker.Pro jenya7 в принципе я из разных процессов обращаюсь к общим статическим объектам в рамках одного проекта. ну если я инициализирую объект в одном процессе Код: c# 1.
я не могу передать указатель на него в другом? можно выделить какую нибудь область shared memory? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2021, 22:54 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
Нет, не можешь. У каждого процесса своя память. Сериализуй свои объекты и передавай между процессами. Но для чего это тебе вообще нужно, пока неясно. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2021, 23:42 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
jenya7 в принципе я из разных процессов обращаюсь к общим статическим объектам в рамках одного проекта. может то же самое можно делать и с несколькими проектами. Ты колдун. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2021, 23:51 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
Может просто взять БД и там хранить "статические объекты" ? Тут SQLite хватит ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2021, 07:56 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
Dima T Может просто взять БД и там хранить "статические объекты" ? Тут SQLite хватит а как это можно хранить в БД? объект Код: c# 1.
это девайсы подключенные по USB. я его инициализирую. нахожу подключенные карты. Код: c# 1.
и потом линкую к объекту этой карты Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
и потом я с этим REL1 хочу работать в Test2.exe. Неужели это такая сложная задача? Может вынести объекты в глобальный dll или exe где они будут сохраняться? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2021, 10:01 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
jenya7 Я создал Solution - Tests. В Solution я создал несколько ConsoleApp - Test1, Test2, Test3. И я прогоняю их один за другим Test1.exe, Test2.exe, Test3.exe. Но мне нужен общий класс с глобальными объектами которые я мог бы передавать от Test1.exe к Test2.exe. Как это сделать? А почему именно так? Ведь можно было бы создать один exe, в коде которого последовательно запускать задачи (экземпляры Task). Тогда и объект, содержащий данные, можно будет последовательно передавать из задачи в задачу без использования дополнительного шага предназначенного для хранения промежуточных данных (т.е. без создания файлов, без хранения в БД, без использования брокера сообщений). ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2021, 10:24 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
Compositum jenya7 Я создал Solution - Tests. В Solution я создал несколько ConsoleApp - Test1, Test2, Test3. И я прогоняю их один за другим Test1.exe, Test2.exe, Test3.exe. Но мне нужен общий класс с глобальными объектами которые я мог бы передавать от Test1.exe к Test2.exe. Как это сделать? А почему именно так? Ведь можно было бы создать один exe, в коде которого последовательно запускать задачи (экземпляры Task). Тогда и объект, содержащий данные, можно будет последовательно передавать из задачи в задачу без использования дополнительного шага предназначенного для хранения промежуточных данных (т.е. без создания файлов, без хранения в БД, без использования брокера сообщений). это устаревший подход. не гибкий. я взял парадигму - LabView + TestStand. В LabView пишуться модули (*.vi) а TestStand их прогоняет. завтра нужно прогнать другой сиквенс - поменял, добавил, убрал несколько *.vi и всё. решил реализовать тот же принцип в .Net. скажем есть модуль управления одной картой, есть модуль управления другой картой, и так далее комбинируя модули можно создавать разные сиквенсы. в LabView + TestStand это работает просто отлично. у меня это работает в .Net. есть менеджер который прогоняет мои модули (exe файлы). но есть моменты как например тот что я описал выше- чтоб включить-выключить одно реле мне каждый раз надо производить процесс инициализации девайсов, поиска карточек а я хочу сделать один раз инициализацию и потом включать-выключать выходы и опрашивать входы. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2021, 11:06 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
jenya7 ... и потом я с этим REL1 хочу работать в Test2.exe. Неужели это такая сложная задача? Может вынести объекты в глобальный dll или exe где они будут сохраняться? Это противоречит устройству ОС. Объекты хранятся не в dll или exe, а в памяти процесса. Процессы максимально изолированы друг от друга чтобы сбой в одном никак не влиял на другой. У каждого процесса свое адресное пространство, там где у одного в памяти лежит объект А, у другого это место занято объектом В. Поэтому нельзя просто так передать объект из процесса в процесс. Если интересно как оно устроено - читай Рихтера Windows via C/C++ . Там есть решения, но непростые, тут в двух словах не описать. Тут как вариант можешь сделать кучу DLL, которые подгружаются в один процесс. Тогда запускающий EXE создаст твои объекты и по очереди загрузит нужные DLL вызывая тесты в них с передачей общих объектов. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2021, 11:49 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
Ну и пусть каждый модуль обращается к единому резидентному сервису, который хранит и удерживает все эти инициализированные классы. То есть непосредственным управлением внешним устройством должен заниматься выделенный (интеграционный, адаптер, драйвер) слой, все остальные (модули, плагины, компоненты) находятся на более высоком уровне абстракции и обращаются к этому сервису, а не общаются напрямую с устройством ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2021, 11:51 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
Shocker.Pro Ну и пусть каждый модуль обращается к единому резидентному сервису, который хранит и удерживает все эти инициализированные классы. То есть непосредственным управлением внешним устройством должен заниматься выделенный (интеграционный, адаптер, драйвер) слой, все остальные (модули, плагины, компоненты) находятся на более высоком уровне абстракции и обращаются к этому сервису, а не общаются напрямую с устройством а как реализовать практически? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2021, 12:07 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
Dima T jenya7 ... и потом я с этим REL1 хочу работать в Test2.exe. Неужели это такая сложная задача? Может вынести объекты в глобальный dll или exe где они будут сохраняться? Это противоречит устройству ОС. Объекты хранятся не в dll или exe, а в памяти процесса. Процессы максимально изолированы друг от друга чтобы сбой в одном никак не влиял на другой. У каждого процесса свое адресное пространство, там где у одного в памяти лежит объект А, у другого это место занято объектом В. Поэтому нельзя просто так передать объект из процесса в процесс. Если интересно как оно устроено - читай Рихтера Windows via C/C++ . Там есть решения, но непростые, тут в двух словах не описать. Тут как вариант можешь сделать кучу DLL, которые подгружаются в один процесс. Тогда запускающий EXE создаст твои объекты и по очереди загрузит нужные DLL вызывая тесты в них с передачей общих объектов. у меня есть опция запустить exe не только как консоль но и визуально. некоторые тесты требуют итерации с оператором. с dll так не получится. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2021, 12:16 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
Как написать свой сервис (службу), легко найти в интернете, тем более, это зависит от твоей среды разработки, которую ты не озвучил. Как провести границу абстрации между этим сервисом и компонентами - это твоя задача на хорошо подумать, только ты знаком со своей предметной областью. В идеале - это универсальный интерфейс, который принимает от компонента некую команду и передает её устройству. Если устройства слишком разные, может быть получится несколько разных интерфейсов. Так или иначе, служба не выставляет наружу какие-то классы, она принимает команды в каком-то виде (к примеру json), интерпретирует и отправляет нужному устройству. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2021, 12:17 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
Shocker.Pro Как написать свой сервис (службу), легко найти в интернете, тем более, это зависит от твоей среды разработки, которую ты не озвучил. Как провести границу абстрации между этим сервисом и компонентами - это твоя задача на хорошо подумать, только ты знаком со своей предметной областью. В идеале - это универсальный интерфейс, который принимает от компонента некую команду и передает её устройству. Если устройства слишком разные, может быть получится несколько разных интерфейсов. Так или иначе, служба не выставляет наружу какие-то классы, она принимает команды в каком-то виде (к примеру json), интерпретирует и отправляет нужному устройству. Шо значит не озвучил cреду разработки - я об ней второй день говорю - .Net - C#. подключение к USB девайсу это настройка дескрипторов и эндпоинтов. я не особо силен в теории но полагаю что эти настройки можно как то сериализовать и передать, я просто не знаю как. скажем карточки подключенные по серийному порту (UART) с ними вообще проблем нет - порт открыл, порт закрыл, прямой доступ к COM порту из любого exe. если бы все сидели на UART (как это было до сих пор) и темы бы не возникло. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2021, 12:32 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
jenya7 это устаревший подход. не гибкий. А в чём "не гибкость"?. Есть exe-приложение. У него есть подкаталог Extensions, в котором складываются DLL-файлы, в которых определены реализации конкретных задач. Состав и содержимое DLL-файлов может меняться со временем, путём их обновления/удаления/добавления новых. Т.е. если потребуется добавить новые задачи, то их можно собрать в виде дополнительного DLL-файла и поместить в этот подкаталог. EXE-приложение в процессе своей работы динамически загружает все DLL-файлы из каталога Extensions и смотрит, какие задачи в них реализованы. Дополнительно, рядом с EXE-файлом, находится конфигурационный файл (XML или JSON), описывающий, какие задачи и в каком порядке следует выполнять. По мере необходимости этот конфиг-файл редактируется. Я не настаиваю - делайте так, как сами посчитаете нужным. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2021, 12:46 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
jenya7 Шо значит не озвучил cреду разработки - я об ней второй день говорю - .Net - C#. Как минимум - .Net Framework или .Net Core ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2021, 12:49 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
jenya7 Шо значит не озвучил cреду разработки - я об ней второй день говорю - .Net - C#. Строго говоря, .Net - C# -это не среда разработки . ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2021, 12:51 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
Shocker.Pro jenya7 Шо значит не озвучил cреду разработки - я об ней второй день говорю - .Net - C#. Как минимум - .Net Framework или .Net Core .NET Framework 4.6.1. а что есть существенная разница? в .Net Core мои фантазии реализуются? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2021, 12:55 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
jenya7 .NET Framework 4.6.1. а что есть существенная разница? в .Net Core мои фантазии реализуются? :) Разница есть. Не всё то, что есть в .Net Framework, реализовано в .Net Core или .Net 5. Но если вы не будете использовать такие вещи как, к примеру, WCF или WF, то для вас это может быть и не критичным. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2021, 12:58 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
jenya7 .NET Framework 4.6.1. а что есть существенная разница? в .Net Core мои фантазии реализуются? :) Если вообще нужна служба. Если достаточно будет обычной WF-проги (раз уж нужно взаимодействие с пользователем), которая работает только когда запущена, ну можно и без службы обойтись. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2021, 13:04 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
jenya7 а как это можно хранить в БД? объект Почитайте про сериализацию/десериализацию объектов. Лично я предпочитаю сериализовывать/десериализовывать в формат JSON. Этот формат с некоторых пор, помимо двоичного и XML доступен к использованию "из коробки", причём пользоваться коробочной версией значительно удобней, чем старым, добрым NewtonSoft. К тому же JSON отлично, без дополнительных плясок с бубном, понимают и др. языки, такие как JavaScript/TypeScript и Java (на тот случай, если вам потребуется передать результат на сторону). ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2021, 13:16 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
тут вопрос только в том, сможет ли он десериализовать состояние класса, который завязан на состояние внешнего устройства. Так все равно может понадобиться некий централизованный сервис, который их удерживает в памяти. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2021, 13:25 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2021, 14:06 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
Просмотрел топик, а что про COM даже ещё никто не сказал? :) Сложно-сложно. Старая школа, создавай COM, регистрируй и общайся через него разными процессами ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2021, 14:08 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
Roman Mejtes https://docs.microsoft.com/ru-ru/dotnet/standard/io/memory-mapped-files выглядит круто. попробую. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2021, 14:12 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
jenya7 выглядит круто. попробую. Мне кажется, что это дорога в Ад. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2021, 14:13 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
Compositum jenya7 выглядит круто. попробую. Мне кажется, что это дорога в Ад. :) начнем с того что методы Write, Read не предоставляют возможности записи объекта. а как сериализовать IADevice REL1; понятия не имею. в принипе я могу открыть обычный файл и писать-читать. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2021, 14:27 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
jenya7 а как сериализовать IADevice REL1; Покажите свою реализацию IADevice, а так же ваш код сериализации. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2021, 14:43 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
jenya7 как сериализовать IADevice REL1; понятия не имею Никак скорее всего. Внутри них хэндлы объектов ОС, открытых COM-портов или типа того, их нельзя сериализовать. Они действительны только внутри конкретного процесса. Есть способ передать хэндл другому процессу DuplicateHandle() , но тут тебе надо в этот класс залезть, чтобы до хэндла добраться. Поэтому не будет работать как ты хочешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2021, 14:49 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
Compositum jenya7 а как сериализовать IADevice REL1; Покажите свою реализацию IADevice, а так же ваш код сериализации. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2021, 14:52 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
jenya7, Вы понимаете, что такое реализация интерфейса ? То, что вы сейчас скопировали из своего более раннего сообщения - это вообще не то. Если вы хотите сериализовывать экземпляр класса, реализующего интерфейс IADevice, то это должен быть максимально простой класс (DTO-класс), содержащий только данные. Обычно под это дело создают классы отдельно, предназначенные именно для сериализации и десериатилазции. В них, посредством специальных атрибутов, указывают, какие поля сериализовывать, а какие нет. Там же указывают, какие поля обязательны к заполнению, а какие нет. Эти классы, как правило, не содержат логики, т.к. они не для этого предназначены. Если у вас реализация обозначенного интерфейса содержит в себе не просто свойства, но и дополнительные скрытые поля, которые нужно правильно инициализировать тем или иным способом, а так же содержит различные методы, то такой класс, скорее всего, создавался без прицела на возможность его сериализации. Тогда вам нужно написать свой простой класс, сериализующий данные. Как вариант источника информации: тема сериализации/десериализации хорошо разжёвана в главе 17 (Сериализация) книги "C# 7.0. Справочник. Полное описание языка" за авторством Албахари Бен , Албахари Джозеф. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2021, 15:02 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
Compositum jenya7, Вы понимаете, что такое реализация интерфейса ? То, что вы сейчас скопировали из своего более раннего сообщения - это вообще не то. Если вы хотите сериализовывать экземпляр класса, реализующего интерфейс IADevice, то это должен быть максимально простой класс (DTO-класс), содержащий только данные. Обычно под это дело создают классы отдельно, предназначенные именно для сериализации и десериатилазции. В них, посредством специальных атрибутов, указывают, какие поля сериализовывать, а какие нет. Там же указывают, какие поля обязательны к заполнению, а какие нет. Эти классы, как правило, не содержат логики, т.к. они не для этого предназначены. я могу оформить IADevice в отдельный класс но он все равно будет содержать методы и логику иначе как я потом буду управлять картой. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2021, 15:08 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
jenya7 я могу оформить IADevice в отдельный класс но он все равно будет содержать методы и логику иначе как я потом буду управлять картой. Так вам же не обязательно сериализовывать именно класс, реализующий этот интерфейс. Вы можете специально для возможности сериализации/десериализации создать отдельный простой класс, содержащий все нужные вам данные, подлежащие передачи на сторону. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2021, 15:12 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
Compositum jenya7 я могу оформить IADevice в отдельный класс но он все равно будет содержать методы и логику иначе как я потом буду управлять картой. Так вам же не обязательно сериализовывать именно класс, реализующий этот интерфейс. Вы можете специально для возможности сериализации/десериализации создать отдельный простой класс, содержащий все нужные вам данные, подлежащие передачи на сторону. он должен быть статическим? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2021, 15:18 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
jenya7 он должен быть статическим? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2021, 15:19 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
jenya7 а как это можно хранить в БД? jenya7 это девайсы подключенные по USB. Очевидно же, что просто подключить девайс к серверу БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2021, 15:23 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
Compositum Этот формат с некоторых пор, помимо двоичного и XML доступен к использованию "из коробки" Бинарную сериализацию из .NET Core выпилили. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2021, 15:26 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
jenya7 он должен быть статическим? Нет конечно. Невозможно создавать экземпляры статических классов. Мне кажется, что у вас по части ООП и .NET некоторая каша в голове. Возможно имеет смысл сначала почитать основы и попрактиковаться в создании простеньких консольных приложений аля "Hello World", прежде чем писать боевое приложение. В противном случае вы рискуете "утонуть" в своём же коде. ИМХО. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2021, 15:26 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
fkthat Бинарную сериализацию из .NET Core выпилили. Не знал. :) Да и не пользовался ею давно в реальных приложениях (только в тестовых консольках, когда экспериментировал с тем, о чём читал в книжках). Даже XML уже давно перестал использовать в пользу JSON. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2021, 15:29 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
jenya7 я могу оформить IADevice в отдельный класс но он все равно будет содержать методы и логику иначе как я потом буду управлять картой. Как ты к карте обращаешься? Хэндлы (HANDLE) объектов виндавса есть? Если есть, то с сериализацией будет засада 22291172 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2021, 18:55 |
|
Общий класс для нескольких проектов
|
|||
---|---|---|---|
#18+
Dima T jenya7 я могу оформить IADevice в отдельный класс но он все равно будет содержать методы и логику иначе как я потом буду управлять картой. Как ты к карте обращаешься? Хэндлы (HANDLE) объектов виндавса есть? Если есть, то с сериализацией будет засада 22291172 выше я показал код. производитель карты дал dll. через него я нахожу подключенные карты по USB и работаю с ними. так как это USB то непонятно как сохранять объект. скажем в случае UART доступ к COM порту с любого exe тривиален. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2021, 09:24 |
|
|
start [/forum/topic.php?all=1&fid=20&tid=1398348]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
58ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
80ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 194ms |
0 / 0 |