我正在尝试复制一个对象,然后将对其进行修改,而不更改原始对象。相关类是:
abstract class Upgrade {}
class Shield: Upgrade
{
public Shield(Shield a) {}
}
问题是当另一个类想要获得“升级”对象但该类不知道它得到哪个对象时。例如:
public void AddUpgrade(Upgrade upgrade)
{
for (int i = 0;i<Aliens.Count; i++)
{
Aliens[i].AddUpgrade(What should i put here?);
}
}
我必须使用复制构造函数,因为我不希望所有外星人共享相同的升级参考,但升级是一个抽象类,我应该怎么做?