Я пытаюсь передать бизнес-объект из одной WinForm в другую WinForm для модификации, а затем снова заполнить текстовые поля и т. Д. В первой форме обновленными значениями.
Однако, кажется, что значения объекта, установленные во второй форме, не «прилипают», когда элемент управления кода возвращается к первой форме.
Есть ли способ просмотреть расположение в памяти объекта в VB.NET? Сначала я хочу убедиться, что переменная объекта во второй форме указывает на тот же адрес памяти, что и объект в первой форме. Тогда я могу взять это оттуда.
В отдельном проекте VB я передал простой объект во вторую форму, изменил значения и повторно отобразил значения объекта в первой форме. Работало нормально. В моем реальном приложении я передаю объект, который является свойством другого объекта, поэтому, возможно, он не работает.
РЕШЕНИЕ. Проблема заключалась в том, что я использовал функцию DeepCopy (), которую я обнаружил для упрощения копирования свойств одного объекта в другой. Удаление этой функции и ручная установка значений для переданного объекта во второй форме (например, obj.property1 = searchResult.property1) приводит к тому, что все ведет себя как ожидалось.