我需要一個項目的副本,但我沒有找到類似Clone()
或其他的方法。 這是我的代碼:如何複製項目?
private void Change(ArrayList SecuenciasIniciales, Project pj)
{
Project pjTemp = pj; //not make a copy else the same reference
for (int i = 0; i < SecuenciasIniciales.Count;i++)
{
int[] secuencia = (int[])SecuenciasIniciales[i];
ChangeProjectTemp(secuencia,ref pjTemp,pj);
pjTemp.Application.LevelingOptions(false, true, true, PjLevelOrder.pjLevelPriority, true, Type.Missing, Type.Missing, PjLevelPeriodBasis.pjDayByDay, true, false, Type.Missing);
pjTemp.Application.LevelNow(true);
if (Directory.Exists(Server.MapPath("") + "\\sample.mpp"))
{
System.IO.File.Delete(Server.MapPath("") + "\\sample.mpp");
}
pjTemp.Application.FileSaveAs(Server.MapPath("") + "\\sample.mpp", PjFileFormat.pjMPP, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
pjTemp.Application.FileSave();
pjTemp.Application.DocClose();
pjTemp.Application.Quit(PjSaveType.pjDoNotSave);
}
}
我不希望pj
變化。解決辦法是什麼?
爲什麼在EARTH上使用ArrayList? – 2013-02-15 22:18:07
'ArrayList'在2013年2月?真的嗎? – 2013-02-15 22:18:23
EARTH ?,是Microsoft Project的一個項目 – Esneyder 2013-02-15 22:23:40