Ссылки на классы - недопонимание - C#
Формулировка задачи:
Есть большое недопонимание в ссылочных данных (или как их называют).
К вот примеру есть класс TabInfo, когда передаем его ссылку в конструктор другого класса(будет называть его второй формой) вот таким образом
и в дальнейшем будем использовать данные из TabInfo в этой второй форме, к примеру данные pi класса ProgramInfo то все замечательно, но до того момента когда в первой форме (где изначально создался класс TabInfo) изменятся данные в классе ProgramInfo, тогда во второй форме остаются не измененные старые данные ProgramInfo.
А если не создавать отдельную поле pi для ProgramInfo, а обращаться к данным ProgramInfo через свойство вот таким образом
то после изменения данных в первой форме, данные изменятся и во второй.
Почему так происходит, почему такая разница?
зы: извиняюсь, что написал так все сумбурно или не правильно.
TabInfo ti; ProgramInfo pi; public EditorForm(TabInfo ti) { this.ti = ti; this.pi = ti.pi; }
ProgramInfo PI { get { return ti.pi; } }
TabInfo ti; ProgramInfo PI { get { return ti.pi; } } public EditorForm(TabInfo ti) { this.ti = ti; }
Решение задачи: «Ссылки на классы - недопонимание»
textual
Листинг программы
ProgramInfo x = new ProgramInfo() { Value = 1 }; ProgramInfo y = x; x = new ProgramInfo { Value = 2 }; Console.WriteLine(y.Value); // 1
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д