Wie kopiere ich eine Instanz eines Objekts?
Ich versuche, Code zu schreiben, der a ausfülltList
(Eigentlich ist es eine Serie vonLists
, aber wir können so tun, als wäre es nur einerList
). Die Idee ist, eine hinzuzufügenIPackage
zumList
für die Gesamtmenge vonIPackage
auf Bestellung. Siehe folgenden Code:
ParseExcel pe = new ParseExcel();
Pinnacle p = pe.ParsePinnacleExcel();
Rack r = new Rack(20,2,4.5,96,42,6,25*12);
foreach (PinnacleStock ps in p.StockList.Where(x =>
x.ColorCode == "10" &&
x.PackageLength == 30.64))
{
for (int i = 1; i <= ps.OnOrder; i++)
{
r.TryAddPackage((IPackage)ps);
}
}
Alles scheint gut zu funktionieren, soweit dieIPackage
wird wiederholt zur Liste hinzugefügt. Es scheint jedoch, dass dieselbe Instanz des Objekts hinzugefügt wird, d. H. Das Objekt wird nicht jedes Mal kopiert, wenn es der Liste hinzugefügt wird.
Was muss ich tun, um sicherzustellen, dass a Kopieren des Objekts wird in die Liste eingefügt, und nicht nur eine zusätzliche Referenz?