Mam różne ObservableCollections różnych typów obiektów. Chciałbym napisać jedną metodę, która pobierze kolekcję dowolnego z tych typów obiektów i zwróci nową kolekcję, w której każdy element jest głęboką kopią elementów z danej kolekcji. Oto przykład dla SZCZEGÓLNE klasyOgólna metoda tworzenia głębokiej kopii wszystkich elementów w kolekcji
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;
}
Jak mogę uczynić to metoda rodzajowa dla każdej klasy, która implementuje ICloneable?
Jako uczciwe ostrzeżenie, nie wszystkie możliwe do wdrożenia implementacje są w rzeczywistości kopiami pełnymi. –