/// <summary> /// Клонирование для вставки /// </summary> /// <param name="cloningObject">Клонируемый объект</param> /// <param name="stubObject">Объект-заглушка</param> /// <param name="newN">Номер внутренний объекта</param> /// <param name="oldObjNum">Старый глобальный номер</param> /// <param name="newObjNum">Новый глобальный номер</param> /// <returns></returns> private TechObject CloneForInsert(TechObject cloningObject, TechObject stubObject, int newN, int oldObjNum, int newObjNum) { globalObjectsList.Add(stubObject); var clonedObject = cloningObject.Clone(GetTechObjectLocalNum, newN, oldObjNum, newObjNum); globalObjectsList.Remove(stubObject); return(clonedObject); }
/// <summary> /// Клонирование для замены /// </summary> /// <param name="cloningObject">Клонируемый объект</param> /// <param name="stubObject">Объект-заглушка</param> /// <param name="newN">Номер внутренний объекта</param> /// <param name="oldObjNum">Старый глобальный номер</param> /// <param name="newObjNum">Новый глобальный номер</param> /// <returns></returns> private TechObject CloneForReplace(TechObject cloningObject, TechObject stubObject, int newN, int oldObjNum, int newObjNum) { var objectFromGlobalList = globalObjectsList[newObjNum - 1]; globalObjectsList[newObjNum - 1] = stubObject; var clonedObject = cloningObject.Clone(GetTechObjectLocalNum, newN, oldObjNum, newObjNum); globalObjectsList[newObjNum - 1] = objectFromGlobalList; return(clonedObject); }