Простой вопрос - мелкая копия (VB.Net) - PullRequest
0 голосов
/ 28 июля 2010

ОК, я всегда смущаюсь по этому поводу.

Допустим, у меня есть этот код.

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

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

1 Ответ

2 голосов
/ 28 июля 2010

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

Если вы хотите сделать копию вашего объекта, вам следует рассмотреть клонирование объекта .

...