Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
10/29/10 19:53:44 (13 years ago)
Author:
abeham
Message:

#922

  • Refactored HeuristicLab.Problems.TravelingSalesman
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/CloningRefactoring/HeuristicLab.Problems.TravelingSalesman/3.3/TravelingSalesmanProblem.cs

    r4641 r4683  
    138138    [StorableConstructor]
    139139    private TravelingSalesmanProblem(bool deserializing) : base(deserializing) { }
     140    private TravelingSalesmanProblem(TravelingSalesmanProblem original, Cloner cloner)
     141      : base(original, cloner) {
     142      this.operators = original.operators.Select(x => (IOperator)cloner.Clone(x)).ToList();
     143      this.DistanceMatrixParameter.Value = original.DistanceMatrixParameter.Value;
     144      AttachEventHandlers();
     145    }
     146    public override IDeepCloneable Clone(Cloner cloner) {
     147      return new TravelingSalesmanProblem(this, cloner);
     148    }
    140149    public TravelingSalesmanProblem()
    141150      : base() {
     
    168177    }
    169178
    170     public override IDeepCloneable Clone(Cloner cloner) {
    171       TravelingSalesmanProblem clone = (TravelingSalesmanProblem)base.Clone(cloner);
    172       clone.operators = operators.Select(x => (IOperator)cloner.Clone(x)).ToList();
    173       clone.DistanceMatrixParameter.Value = DistanceMatrixParameter.Value;
    174       clone.AttachEventHandlers();
    175       return clone;
    176     }
    177 
    178179    #region Events
    179180    public event EventHandler SolutionCreatorChanged;
     
    251252    #region Helpers
    252253    [StorableHook(HookType.AfterDeserialization)]
    253     private void AfterDeserializationHook() {
     254    private void AfterDeserialization() {
    254255      // BackwardsCompatibility3.3
    255256      #region Backwards compatible code (remove with 3.4)
Note: See TracChangeset for help on using the changeset viewer.