Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
10/29/10 18:28:32 (13 years ago)
Author:
swagner
Message:

Finished cloning refactoring of HeuristicLab.Parameters and simplified cloning code of HeuristicLab.Core (#922)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/CloningRefactoring/HeuristicLab.Parameters/3.3/OptionalConstrainedValueParameter.cs

    r4332 r4671  
    8787
    8888    #region Constructors
     89    [StorableConstructor]
     90    protected OptionalConstrainedValueParameter(bool deserializing) : base(deserializing) { }
     91    protected OptionalConstrainedValueParameter(OptionalConstrainedValueParameter<T> original, Cloner cloner)
     92      : base(original, cloner) {
     93      validValues = cloner.Clone(original.validValues);
     94      value = cloner.Clone(original.value);
     95      getsCollected = original.getsCollected;
     96      Initialize();
     97    }
    8998    public OptionalConstrainedValueParameter()
    9099      : base("Anonymous", typeof(T)) {
     
    169178      Initialize();
    170179    }
    171     [StorableConstructor]
    172     protected OptionalConstrainedValueParameter(bool deserializing) : base(deserializing) { }
    173180    #endregion
    174181
    175182    [StorableHook(HookType.AfterDeserialization)]
     183    private void AfterDeserialization() {
     184      Initialize();
     185    }
     186
    176187    private void Initialize() {
    177188      RegisterValidValuesEvents();
     
    180191
    181192    public override IDeepCloneable Clone(Cloner cloner) {
    182       OptionalConstrainedValueParameter<T> clone = (OptionalConstrainedValueParameter<T>)base.Clone(cloner);
    183       clone.validValues = (ItemSet<T>)cloner.Clone(validValues);
    184       clone.value = (T)cloner.Clone(value);
    185       clone.getsCollected = getsCollected;
    186       clone.Initialize();
    187       return clone;
     193      return new OptionalConstrainedValueParameter<T>(this, cloner);
    188194    }
    189195
Note: See TracChangeset for help on using the changeset viewer.