- Timestamp:
- 11/06/10 01:56:04 (13 years ago)
- Location:
- trunk/sources
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources
- Property svn:mergeinfo changed
/branches/CloningRefactoring (added) merged: 4656-4693,4696-4697,4711-4714,4718-4719
- Property svn:mergeinfo changed
-
trunk/sources/HeuristicLab.Core/3.3/Collections/CheckedItemList.cs
r4068 r4722 48 48 } 49 49 } 50 51 /// <summary> 52 /// Instantiates a new CheckedItemList for deserialization. 53 /// </summary> 54 /// <param name="deserializing"></param> 55 [StorableConstructor] 56 protected CheckedItemList(bool deserializing) : base(deserializing) { } 57 protected CheckedItemList(CheckedItemList<T> original, Cloner cloner) 58 : base(original, cloner) { 59 list = new List<T>(original.Select(x => (T)cloner.Clone(x))); 60 checkedState = new Dictionary<T, bool>(); 61 foreach (var pair in original.checkedState) 62 checkedState.Add(cloner.Clone(pair.Key), pair.Value); 63 } 50 64 /// <summary> 51 65 /// Instantiates an empty CheckedItemList. … … 75 89 } 76 90 } 77 /// <summary>78 /// Instantiates a new CheckedItemList for deserialization.79 /// </summary>80 /// <param name="deserializing"></param>81 [StorableConstructor]82 protected CheckedItemList(bool deserializing) : base(deserializing) { }83 91 84 92 /// <summary> … … 228 236 /// <returns>A deep clone of the CheckedItemList</returns> 229 237 public override IDeepCloneable Clone(Cloner cloner) { 230 CheckedItemList<T> clone = (CheckedItemList<T>)Activator.CreateInstance(this.GetType()); 231 cloner.RegisterClonedObject(this, clone); 232 clone.list = new List<T>(this.Select(x => (T)cloner.Clone(x))); 233 clone.checkedState = new Dictionary<T, bool>(); 234 foreach (var pair in checkedState) 235 clone.checkedState.Add((T)cloner.Clone(pair.Key), pair.Value); 236 return clone; 238 return new CheckedItemList<T>(this, cloner); 237 239 } 238 240 }
Note: See TracChangeset
for help on using the changeset viewer.