2012-02-09 5 views
0

Допустим, что у меня есть 3 объекта, a, b и c. Подключено как a <- b <- c.Заменить/Обновить объект и его дочерние объекты

Я делаю 2 экземпляра a; a1 и a2. У обоих из них есть b: s и c: s подключены к ним.

Что я хотел бы сделать, это заменить a1 wuth a2, включая их детей. Другими словами; удалив a1 и его детей, добавив a2 + childrens на тот же ID. Надеюсь, вы получите эту идею, в противном случае плохо развиты.

Заранее спасибо

ответ

0
var tempB = a1.b; 
var tempC = a1.c; 

a1.b = a2.b; 
a1.c = a2.c; 

a2.b = tempB; 
a2.c = tempC; 

Или, может быть:

var tempID = a1.ID; 
a1.ID = a2.ID; 
a2.ID = tempID; 

Я, возможно, перепутались с иерархией; так:

var tempB = a1.b; 

a1.b = a2.b; 
a2.b = tempB; 

// this copies c instances together with b instances 
+0

В вашем первом примере вы используете соединение a1-a2, только его дети? И почему вы не можете просто написать 'a1 = a2'? – Johan

+0

Q1: вот что я понял, что вы хотели. Q2: потому что это сделает их абсолютно равными. –

+0

Вам не нужно копировать c, его уже подключен к b из a2 – hcb