Changeset 4668 for branches/CloningRefactoring/HeuristicLab.Core/3.3/Collections/CheckedItemCollection.cs
- Timestamp:
- 10/29/10 17:38:42 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/CloningRefactoring/HeuristicLab.Core/3.3/Collections/CheckedItemCollection.cs
r4068 r4668 46 46 47 47 /// <summary> 48 /// Instantiates an empty CheckedItemCollection for deserialization. 49 /// </summary> 50 /// <param name="deserializing"></param> 51 [StorableConstructor] 52 protected CheckedItemCollection(bool deserializing) : base(deserializing) { } 53 protected CheckedItemCollection(CheckedItemCollection<T> original, Cloner cloner) 54 : base(original, cloner) { 55 list = new List<T>(original.Select(x => cloner.Clone<T>(x))); 56 checkedState = new Dictionary<T, bool>(); 57 foreach (var pair in original.checkedState) 58 checkedState.Add(cloner.Clone<T>(pair.Key), pair.Value); 59 } 60 /// <summary> 48 61 /// Instantiates a new CheckedItemCollection. 49 62 /// </summary> … … 71 84 checkedState.Add(item, true); 72 85 } 73 /// <summary>74 /// Instantiates an empty CheckedItemCollection for deserialization.75 /// </summary>76 /// <param name="deserializing"></param>77 [StorableConstructor]78 protected CheckedItemCollection(bool deserializing) : base(deserializing) { }79 86 80 87 /// <summary> … … 179 186 /// <returns>A clone of the CheckedItemCollection</returns> 180 187 public override IDeepCloneable Clone(Cloner cloner) { 181 CheckedItemCollection<T> clone = (CheckedItemCollection<T>)Activator.CreateInstance(this.GetType()); 182 cloner.RegisterClonedObject(this, clone); 183 clone.list = new List<T>(this.Select(x => (T)cloner.Clone(x))); 184 clone.checkedState = new Dictionary<T, bool>(); 185 foreach (var pair in checkedState) 186 clone.checkedState.Add((T)cloner.Clone(pair.Key), pair.Value); 187 return clone; 188 return new CheckedItemCollection<T>(this, cloner); 188 189 } 189 190 }
Note: See TracChangeset
for help on using the changeset viewer.