Чтение адреса памяти объекта - PullRequest
0 голосов
/ 04 мая 2009

Я пытаюсь передать бизнес-объект из одной WinForm в другую WinForm для модификации, а затем снова заполнить текстовые поля и т. Д. В первой форме обновленными значениями.

Однако, кажется, что значения объекта, установленные во второй форме, не «прилипают», когда элемент управления кода возвращается к первой форме.

Есть ли способ просмотреть расположение в памяти объекта в VB.NET? Сначала я хочу убедиться, что переменная объекта во второй форме указывает на тот же адрес памяти, что и объект в первой форме. Тогда я могу взять это оттуда.

В отдельном проекте VB я передал простой объект во вторую форму, изменил значения и повторно отобразил значения объекта в первой форме. Работало нормально. В моем реальном приложении я передаю объект, который является свойством другого объекта, поэтому, возможно, он не работает.

РЕШЕНИЕ. Проблема заключалась в том, что я использовал функцию DeepCopy (), которую я обнаружил для упрощения копирования свойств одного объекта в другой. Удаление этой функции и ручная установка значений для переданного объекта во второй форме (например, obj.property1 = searchResult.property1) приводит к тому, что все ведет себя как ожидалось.

1 Ответ

3 голосов
/ 04 мая 2009

Вы не можете видеть адрес памяти объекта в VB.NET.

Не могли бы вы показать нам немного кода? Может быть, мы сможем обнаружить ошибку.

Какой объект вы проходите вокруг? Если объект является типом значения, это не будет работать (объявлено со структурой вместо класса).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...