|
-21 / 29 / 2
Регистрация: 17.03.2018
Сообщений: 778
|
|||||||||||
Как передать Экземпляр Класса в SubWindow?28.12.2018, 14:50. Показов 2808. Ответов 27
Метки нет (Все метки)
Привет всем,
Имею следующий public class: ABC MainWindow:
и потом пользуюсь его методами в MainWindow. Это работает превосходно.
Спасибо! Добавлено через 18 минут Вроде есть два способа.
0
|
|||||||||||
| 28.12.2018, 14:50 | |
|
Ответы с готовыми решениями:
27
Как в случае с Dependency Injection внедрять отдельный экземпляр некоторого класса только лишь для одного другого класса Как передать форму (доступ к контролам) в класс, не создавая ее экземпляр? Как правильно передать ссылку на экземпляр объекта из одной формы в другую? |
|
Модератор
|
||
| 28.12.2018, 22:50 | ||
|
То есть фактически XYZ(тип прибора, firmware version, на каком разъеме сидит) - задаёт физически конкретный прибор. При этом не важно сколько экземпляров XYZ с одинаковыми параметрами будет создано. Все они будут работать с одним и тем же прибором. И фактически прибор и является хранилищем внутренних данных объекта. Поэтому все объекты связанные с конкретным прибором имеют одинаковые внутренние состояния. Если так. То "по феншую" неправильно прописаны конструкторы класса XYZ в библиотеке Reg.Power. Но Вы это не в состоянии исправить. Если у Вас используется только один прибор, то есть XYZ(тип прибора, firmware version, на каком разъеме сидит) - параметры всегда одни и те же, то оставьте как есть. Если же у Вас набор приборов, то для уменьшения накладных расходов можно сделать статический класс, в котором будет списочное поле из экземпляров XYZ. Когда обращаетесь за новым экземпляром, класс проверяет есть такой в списке или нет. Если нет, то создаёт новый и вносит в список в список. Если есть, то вместо создания нового, возвращает ссылку на ранее созданный из списка.
0
|
||
|
-21 / 29 / 2
Регистрация: 17.03.2018
Сообщений: 778
|
|||||||||||
| 28.12.2018, 23:12 [ТС] | |||||||||||
|
Да, есть еще один способ.
В MainWindow, в Event которое вызывает Subwindow можно передать экземпляр в SubWindow:
Добавлено через 20 минут Но самый прикол в том, что пару недель назад это все работало без каких либо созданий конструкторов в MainWindow и SubWindow. Один из наших понес лабораторку на проверку, было 15 минут позора, т.к. повылетали nullReference exceptions.
0
|
|||||||||||
|
Модератор
|
|||||||
| 28.12.2018, 23:16 | |||||||
|
Но, как Вы говорите "по феншую", раз это реально физические приборы, то есть они существуют независимо от Ваней программы, то объекты работающие с ними (фактически это драйвера) должны быть статическими. Поэтому, предлагаю такой вариант (если у Вас один прибор)
0
|
|||||||
|
-21 / 29 / 2
Регистрация: 17.03.2018
Сообщений: 778
|
|
| 28.12.2018, 23:23 [ТС] | |
|
0
|
|
|
-21 / 29 / 2
Регистрация: 17.03.2018
Сообщений: 778
|
|
| 28.12.2018, 23:29 [ТС] | |
|
ОК. буду пробовать. Спасибо за фэншуй и до завтра. )
0
|
|
|
-21 / 29 / 2
Регистрация: 17.03.2018
Сообщений: 778
|
|
| 30.12.2018, 14:54 [ТС] | |
|
Элд Хасп,
С наступающим! ![]() Значит сделал передачу экземпляра в каждое SubWIndow при его открытии. Все работает, т.е. пыль в глаза можно пустить. Так, на будущее, вопрос. Как влияет на производительность App и OS в целом передача десятка экземпляров класса в SubWIndows? Если нагружает, то какую процедуру нужно выполнить при закрытии SubWindow, чтобы разгрузить.
0
|
|
|
Модератор
|
||
| 30.12.2018, 15:07 | ||
|
Забейте - это не существенно.
0
|
||
| 30.12.2018, 15:07 | |
|
Как создать экземпляр класса по условию Как создать экземпляр класса динамически? Как создать экземпляр класса библиотеки Как найти экземпляр класса в коллекции, если известен ClientPCId? Как получить искомый экземпляр класса одной поисковой строкой LINQа Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 30. Фосфорный и азотный замки по "честному" закону лимитирования Либиха
anaschu 16.07.2026
Основные достижения за последние дни
1. Механизм отложенного высвобождения фосфора
Добавлен специальный пул для медленного разложения меланизированных гиф ЕСМ
Реализована разная скорость. . .
|
Запрет пометки на удаление и отмены проведения
Maks 16.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "ПутевойЛист" разработанного в КА2.
Задача: запретить помечать на удаление и отменять проведения путевого листа при условии, если он сдан. . .
|
Как надо было делать правильно - вообще не слушать ИИ, его дело - текст.
Hrethgir 15.07.2026
А вообще надо было делать не так, чтобы не исправлять ошибку https:/ / www. cyberforum. ru/ blogs/ 223907/ 10996. html , правильно было : удалил кнопку, а потом добавил её.
Всё это стресс конечно. Почему?. . .
|
Знаете, от чего появляется стресс?
kumehtar 15.07.2026
Стресс появляется оттого, что вы, зная как поступить правильно, делаете наоборот.
Ларри Уингет
|
|
Нас бьют, а мы крепчаем? Какая чушь!
kumehtar 15.07.2026
Вот это вот бытующее мнение, что человек меняется только под действием проблем, всегда считал вредоносным. Поверь, от проблем у людей появляются не изменения, а нервное расстройство и ПТСР. А. . .
|
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров
В текущей версии модели успешно реализован ключевой механизм. . .
|
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям
Реализованные компоненты:
Механизм закисления почвы через протонную помпу
Конкуренция между типами микориз
pH как триггер сукцессии
C/ P соотношение. . .
|
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
|