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/MultiOperator.cs

    r4068 r4722  
    5151    }
    5252
     53    [StorableConstructor]
     54    protected MultiOperator(bool deserializing) : base(deserializing) { }
     55    protected MultiOperator(MultiOperator<T> original, Cloner cloner)
     56      : base(original, cloner) {
     57      this.operators = cloner.Clone<IItemList<T>>(original.operators);
     58      Initialize();
     59    }
    5360    public MultiOperator()
    5461      : base() {
     
    5764    }
    5865
    59     [StorableConstructor]
    60     protected MultiOperator(bool deserializing) : base(deserializing) { }
    61 
    6266    [StorableHook(HookType.AfterDeserialization)]
     67    private void AfterDeserialization() {
     68      Initialize();
     69    }
     70   
    6371    private void Initialize() {
    6472      if (operators != null) RegisterOperatorsEvents();
     
    6977        opParam.ValueChanged += new EventHandler(opParam_ValueChanged);
    7078      }
    71     }
    72 
    73     public override IDeepCloneable Clone(Cloner cloner) {
    74       MultiOperator<T> clone = (MultiOperator<T>)base.Clone(cloner);
    75       clone.operators = (IItemList<T>)cloner.Clone(operators);
    76       clone.Initialize();
    77       return clone;
    7879    }
    7980
Note: See TracChangeset for help on using the changeset viewer.