Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/06/10 01:56:04 (14 years ago)
Author:
swagner
Message:

Merged cloning refactoring branch back into trunk (#922)

Location:
trunk/sources
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources

  • trunk/sources/HeuristicLab.Operators/3.3/ValuesCollector.cs

    r3376 r4722  
    3838    }
    3939
     40    [StorableConstructor]
     41    protected ValuesCollector(bool deserializing) : base(deserializing) { }
     42    protected ValuesCollector(ValuesCollector original, Cloner cloner)
     43      : base(original, cloner) {
     44      this.collectedValues = cloner.Clone<ParameterCollection>(original.collectedValues);
     45      Initialize();
     46    }
    4047    public ValuesCollector()
    4148      : base() {
     
    4350      Initialize();
    4451    }
    45     [StorableConstructor]
    46     protected ValuesCollector(bool deserializing) : base(deserializing) { }
    4752
    4853    [StorableHook(HookType.AfterDeserialization)]
     54    private void AfterDeserialization() {
     55      Initialize();
     56    }
     57
    4958    private void Initialize() {
    5059      collectedValues.ItemsAdded += new CollectionItemsChangedEventHandler<IParameter>(collectedValues_ItemsAdded);
    5160      collectedValues.ItemsRemoved += new CollectionItemsChangedEventHandler<IParameter>(collectedValues_ItemsRemoved);
    5261      collectedValues.CollectionReset += new CollectionItemsChangedEventHandler<IParameter>(collectedValues_CollectionReset);
    53     }
    54 
    55     public override IDeepCloneable Clone(Cloner cloner) {
    56       ValuesCollector clone = (ValuesCollector)base.Clone(cloner);
    57       clone.collectedValues = (ParameterCollection)cloner.Clone(collectedValues);
    58       clone.Initialize();
    59       return clone;
    6062    }
    6163
Note: See TracChangeset for help on using the changeset viewer.