0

好吧,我总是对此感到困惑。

假设我有这个代码。

Public Sub Bar(byRef pMap as clsMap)
Dim foo as new FooClass()
pMap.listOfFoo.Add(foo)
end Sub

这意味着引用“Foo”或存储在“listOfFoo”中的项目将引用同一个对象,对吧?如果我要更改 'foo' 的属性 - 但不将其更改为新对象 - 两者仍然会引用并反映更新的值?

4

1 回答 1

2

是的,您正在存储一个指向该foo对象的引用指针,因此如果您在一个地方修改一个属性,它将在所有其他foo引用的地方可见。

如果你想复制你的对象,你应该考虑对象克隆

于 2010-07-28T06:44:44.793 回答