2010-07-28 2 views
0

Хорошо, я всегда путаюсь по этому поводу.Простой вопрос - Мелкая копия (VB.Net)

Скажем, у меня есть этот код.

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

Это означает, что ссылки на «Foo» или элемент, сохраненный в «listOfFoo» будет ссылаться на тот же объект, верно? Если бы я должен был изменить свойство «foo» - но не изменить его на новый объект - оба будут по-прежнему ссылаться и будут отражать обновленные значения?

ответ

2

Да, вы храните указатель ссылки на объект foo, поэтому, если вы измените свойство в одном месте, оно будет видимым во всех других местах, где указаны ссылки foo.

Если вы хотите, чтобы сделать копию объекта, вы должны рассмотреть object cloning.