Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
08/29/19 13:53:26 (5 years ago)
Author:
mkommend
Message:

#2521: Integrated changes of #2943 into problem refactoring branch.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2521_ProblemRefactoring/HeuristicLab.Optimization/3.3/BasicProblems/Problem.cs

    r16948 r17225  
    3636    where TEncodedSolution : class, IEncodedSolution
    3737    where TEvaluator : class, IEvaluator {
    38 
    3938    public string Filename { get; set; } // TODO: Really okay here? should be in Problem (non-generic)
    4039
     
    6059    }
    6160    event EventHandler IHeuristicOptimizationProblem.SolutionCreatorChanged {
    62       add { Encoding.SolutionCreatorChanged += value; }
    63       remove { Encoding.SolutionCreatorChanged -= value; }
     61      add {
     62        if (Encoding != null) Encoding.SolutionCreatorChanged += value;
     63      }
     64      remove {
     65        if (Encoding != null) Encoding.SolutionCreatorChanged -= value;
     66      }
    6467    }
    6568
     
    7275      protected set { EvaluatorParameter.Value = value; }
    7376    }
    74     IEvaluator IHeuristicOptimizationProblem.Evaluator { get { return Evaluator; } }
    75     IParameter IHeuristicOptimizationProblem.EvaluatorParameter { get { return EvaluatorParameter; } }
     77    IEvaluator IHeuristicOptimizationProblem.Evaluator {
     78      get { return Evaluator; }
     79    }
     80    IParameter IHeuristicOptimizationProblem.EvaluatorParameter {
     81      get { return EvaluatorParameter; }
     82    }
    7683
    7784    public event EventHandler EvaluatorChanged;
     
    9097      get {
    9198        if (Encoding == null) return base.ExecutionContextItems;
    92         return base.ExecutionContextItems.Concat(new[] { Encoding });
     99        return base.ExecutionContextItems.Concat(new[] {Encoding});
    93100      }
    94101    }
     
    173180        if (!oldMultiEncoding.Encodings.SequenceEqual(newMultiEncoding.Encodings, new TypeEqualityComparer<IEncoding>())) return;
    174181
    175         var nestedEncodings = oldMultiEncoding.Encodings.Zip(newMultiEncoding.Encodings, (o, n) => new { oldEnc = o, newEnc = n });
     182        var nestedEncodings = oldMultiEncoding.Encodings.Zip(newMultiEncoding.Encodings, (o, n) => new {oldEnc = o, newEnc = n});
    176183        foreach (var multi in nestedEncodings)
    177184          AdaptEncodingOperators(multi.oldEnc, multi.newEnc);
Note: See TracChangeset for help on using the changeset viewer.