【发布时间】:2010-04-30 13:21:40
【问题描述】:
我有各种不同对象类型的 ObservableCollections。我想编写一个方法,该方法将采用任何这些对象类型的集合并返回一个新集合,其中每个元素都是给定集合中元素的深层副本。这是特定类的示例
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;
}
我怎样才能使这个方法对任何实现 ICloneable 的类都通用?
【问题讨论】:
-
作为一个公平的警告,并非所有 ICloneable 实现实际上都是深拷贝。