- 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/CheckedItemCollection.cs
r4068 r4722 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(x))); 56 checkedState = new Dictionary<T, bool>(); 57 foreach (var pair in original.checkedState) 58 checkedState.Add(cloner.Clone(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.