- Timestamp:
- 10/29/10 19:40:07 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/CloningRefactoring/HeuristicLab.Problems.OneMax/3.3/OneMaxSolution.cs
r4068 r4681 34 34 [Item("OneMaxSolution", "Represents a OneMax solution.")] 35 35 [StorableClass] 36 public class OneMaxSolution : Item {36 public sealed class OneMaxSolution : Item { 37 37 public override Image ItemImage { 38 38 get { return HeuristicLab.Common.Resources.VS2008ImageLibrary.Image; } … … 67 67 } 68 68 69 [StorableConstructor] 70 private OneMaxSolution(bool deserializing) : base(deserializing) { } 71 private OneMaxSolution(OneMaxSolution original, Cloner cloner) 72 : base(original, cloner) { 73 binaryVector = cloner.Clone(original.binaryVector); 74 quality = cloner.Clone(original.quality); 75 Initialize(); 76 } 69 77 public OneMaxSolution() : base() { } 70 78 public OneMaxSolution(BinaryVector binaryVector, DoubleValue quality) … … 74 82 Initialize(); 75 83 } 76 [StorableConstructor]77 private OneMaxSolution(bool deserializing) : base(deserializing) { }78 84 79 85 [StorableHook(HookType.AfterDeserialization)] 86 private void AfterDeserialization() { 87 Initialize(); 88 } 89 80 90 private void Initialize() { 81 91 if (binaryVector != null) RegisterBinaryVectorEvents(); 82 92 if (quality != null) RegisterQualityEvents(); 83 }84 85 public override IDeepCloneable Clone(Cloner cloner) {86 OneMaxSolution clone = new OneMaxSolution();87 cloner.RegisterClonedObject(this, clone);88 clone.binaryVector = (BinaryVector)cloner.Clone(binaryVector);89 clone.quality = (DoubleValue)cloner.Clone(quality);90 clone.Initialize();91 return clone;92 93 } 93 94
Note: See TracChangeset
for help on using the changeset viewer.