Я вроде понимаю, почему это происходит, но не полностью. У меня есть базовый класс с переменной Shared
(Static
), объявленной так:
Public Shared myVar As New MyObject(arg1, arg2)
В методе производного класса я устанавливаю локальную переменную следующим образом:
Dim myLocalVar As MyObject = myVar
Теперь, когда я делаю что-то вроде myLocalVar.Property1 += value
, значение в Property1
сохраняется до следующего вызова этого метода! Я полагаю, я получаю , почему это произойдет; myVar
устанавливается по ссылке, а не по значению, но я никогда не встречал ничего подобного раньше. Есть ли способ (кроме моего обходного пути, который заключается в том, чтобы просто создать новый объект, используя значения свойств myVar
), чтобы создать myLocalVar
по значению ?