- Timestamp:
- 11/06/10 01:56:04 (14 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.Problems.Knapsack/3.3/KnapsackSolution.cs
r4513 r4722 109 109 } 110 110 111 [StorableConstructor] 112 protected KnapsackSolution(bool deserializing) : base(deserializing) { } 113 protected KnapsackSolution(KnapsackSolution original, Cloner cloner) 114 : base(original, cloner) { 115 this.binaryVector = cloner.Clone(original.binaryVector); 116 this.quality = cloner.Clone(original.quality); 117 this.capacity = cloner.Clone(original.capacity); 118 this.weights = cloner.Clone(original.weights); 119 this.values = cloner.Clone(original.values); 120 Initialize(); 121 } 122 public override IDeepCloneable Clone(Cloner cloner) { 123 return new KnapsackSolution(this, cloner); 124 } 111 125 public KnapsackSolution() : base() { } 112 126 public KnapsackSolution(BinaryVector binaryVector, DoubleValue quality, IntValue capacity, IntArray weights, IntArray values) … … 119 133 Initialize(); 120 134 } 121 [StorableConstructor]122 private KnapsackSolution(bool deserializing) : base(deserializing) { }123 135 124 136 [StorableHook(HookType.AfterDeserialization)] 137 private void AfterDeserialization() { 138 Initialize(); 139 } 140 125 141 private void Initialize() { 126 142 if (binaryVector != null) RegisterBinaryVectorEvents(); … … 131 147 } 132 148 133 public override IDeepCloneable Clone(Cloner cloner) {134 KnapsackSolution clone = new KnapsackSolution();135 cloner.RegisterClonedObject(this, clone);136 clone.binaryVector = (BinaryVector)cloner.Clone(binaryVector);137 clone.quality = (DoubleValue)cloner.Clone(quality);138 clone.capacity = (IntValue)cloner.Clone(capacity);139 clone.weights = (IntArray)cloner.Clone(weights);140 clone.values = (IntArray)cloner.Clone(values);141 clone.Initialize();142 return clone;143 }144 145 149 #region Events 146 150 public event EventHandler BinaryVectorChanged;
Note: See TracChangeset
for help on using the changeset viewer.