我有点理解为什么会这样,但不完全理解。我有一个带有Shared
( Static
) 变量的基类,声明如下:
Public Shared myVar As New MyObject(arg1, arg2)
在派生类的方法中,我设置了一个局部变量,如下所示:
Dim myLocalVar As MyObject = myVar
现在,当我执行类似的操作时myLocalVar.Property1 += value
, in 的值Property1
将持续到该方法的下一次调用!我想我明白为什么会发生这种情况;myVar
是按引用而不是按值设置的,但我以前从未遇到过这样的事情。有什么方法(除了我的解决方法是使用 的属性值创建一个新对象myVar
)myLocalVar
按值创建?