Ich habe verschiedene ObservableCollections von verschiedenen Objekttypen. Ich würde gerne eine einzelne Methode schreiben, die eine Sammlung dieser Objekttypen erstellt und eine neue Sammlung zurückgibt, bei der jedes Element eine tiefe Kopie der Elemente in der angegebenen Sammlung ist. Hier ist ein Beispiel für eine specifc KlasseGenerische Methode zum Erstellen einer tiefen Kopie aller Elemente in einer Sammlung
private static ObservableCollection<PropertyValueRow> DeepCopy(ObservableCollection<PropertyValueRow> list)
{
ObservableCollection<PropertyValueRow> newList = new ObservableCollection<PropertyValueRow>();
foreach (PropertyValueRow rec in list)
{
newList.Add((PropertyValueRow)rec.Clone());
}
return newList;
}
Wie kann ich diese Methode generisch für jede Klasse machen die ICloneable implementiert?
Als eine gerechte Warnung, sind nicht alle ICloneable-Implementierungen tatsächlich tiefe Kopien. –