0 / 0 / 0
Регистрация: 13.10.2015
Сообщений: 42
|
|
1 | |
Использование одних данных по ссылке в разных формах29.11.2016, 21:36. Показов 1095. Ответов 3
Метки нет Все метки)
(
Есть несколько форм - главная и побочные. В главной форме есть несколько полей-классов. При вызове какой-либо побочной формы я создаю экземпляр этой формы и в конструкторе отправляю нужные поля. Дальше в побочной форме делаются какие-то действия с этими данными.
Передаваемые объекты - один null, другой созданный, но пустой внутри (собственная коллекция). Изначально я считал, что т.к. нужные мне объекты - ссылочного типа, то достаточно будет в побочной форме создать соответствующие поля, в конструкторе присвоить им передаваемые объекты, поработать с ними и они изменятся в главной форме. Но, видимо, я сильно заблуждался - побочная форма получает данные и работает с ними (создает тот, который был null и заполняет пустой). Однако при возврате в главную форму оказывается, что объекты не изменились. Как бы мне это исправить и что мне нужно знать, чтобы больше так не промахиваться?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
|
|
29.11.2016, 21:36 | |
Ответы с готовыми решениями:
3
Использование одних данных из DataSet в нескольких формах Использование одних и тех же функций для разных форм Использование переменной на разных формах |
![]() |
|
29.11.2016, 21:46 | 2 |
Особенности работы со ссылочными типами.
Добавлено через 1 минуту В главной форме создавать объекты и передавать ссылку на них в побочную. Тогда вы сможете изменить состояние объекта (но не сам объект, то есть ссылку на него).
0
|
0 / 0 / 0
Регистрация: 13.10.2015
Сообщений: 42
|
|
29.11.2016, 22:00 [ТС] | 3 |
Через Ref, как я понимаю? Но в таком случае ничего не изменится - я работаю с объектами вне конструктора.
Поконкретнее можно? Мне нужно проинициализировать отправленный null-объект. Чем будет данная операция считаться в рамках Вашего высказывания? Добавлено через 6 минут Nvm, я разобрался. Спасибо.
0
|
![]() |
|
29.11.2016, 22:27 | 4 |
Мех, основная суть в том, что без модификаторов любой параметр метода представляет собой копию того значения, что передается - будь это тип значения или ссылка, не важно. То есть, изменяя этот параметр внутри метода (поскольку это копия), снаружи ничего не меняется. Но в случае ссылочных типов есть одна тонкость - сам объект мы изменить не можем (как сказано выше), но вот его состояние - вполне (мы же имеем копию ссылки на тот же самый объект). А для того, чтобы влиять на то, что извне, используются модификаторы
out и ref .
0
|
29.11.2016, 22:27 | |
Помогаю со студенческими работами здесь
4
Использование одной Com компоненты в 2 разных формах
Использование одних и тех же данных двумя массивами передача данных между ListBox в разных формах Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |