[C#] Gleich und doch verschieden. Aber wie?

Blackhawk50000

Erfahrenes Mitglied
Hallo liebe Kollegen,

ich bin in den letzten tagen sehr gut voran gekommen, aber jetzt hänge ich an einer so blöden Stelle.

Ich habe eine Liste mit Personen, diese Personen sind von Typ Person und haben mehrere Eigenschaften.

Wann immer sich diese Eigenschaften ändern will ich den zustand vor der Änderung in einer Liste speichern.

das versuche ich mit

_undoStatus.Add(new List<Listengenerator_Suchergebnis>(_aktuellePersonenArt));

allerdings sind alle Elemente in der Liste _UndoStatus immer genau gleich und haben alle die gleichen werte.
Wie stelle ich das an, dass ich verschiedene Instanzen meines Objektes in der liste speichere?
 
Danke für den link.... rein von der Logik her müsste es ja clappen, mal davon abgesehen dass ich silverlight 4 verwende und da IClonable oder sowas nicht implementiert ist :D

ich habe im internet nun die verschiedensten klassen und methoden ausprobiert und kopiert und und und. Aber nichts...
 
Hallo,

Kannst du mal den gesammten Code für diesen Bereich herzeigen? Meine Vermutung ist, das du jedesmal das selbe Objekt verwendest um es in die Liste zu speichern. Da in C# alle Variablen als Referenz übergeben werden steht in der Liste nur eine Referenz auf das Objekt und keine Kopie, daher verändern sich die Werte der undo-Liste wenn du die richtigen Daten änderst.
 
ICH HAAAABS =)

Der Grund war, folgender...

Undostatus war folgendes: List<List<person>> und die personenliste war List<person>

wenn ich jetzt die personenliste in der Undostatus speichere ist zwar das object neu, aber die daruin enthaltenen personen sind immernoch nur referenzen...

ich habs jetzt also endlich gelöst =)
 
Zurück