Free cookie consent management tool by TermsFeed Policy Generator

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

Implemented ReadOnlyView property for items (#969).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Parameters/3.3/ValueLookupParameter.cs

    r3080 r3317  
    3232  [StorableClass]
    3333  public class ValueLookupParameter<T> : LookupParameter<T>, IValueLookupParameter<T> where T : class, IItem {
     34    [Storable]
    3435    private T value;
    35     [Storable]
    3636    public T Value {
    3737      get { return this.value; }
     
    6666    public ValueLookupParameter(string name, T value)
    6767      : base(name) {
    68       Value = value;
     68      this.value = value;
     69      Initialize();
    6970    }
    7071    public ValueLookupParameter(string name, string description)
     
    7374    public ValueLookupParameter(string name, string description, T value)
    7475      : base(name, description) {
    75       Value = value;
     76      this.value = value;
     77      Initialize();
    7678    }
    7779    public ValueLookupParameter(string name, string description, string actualName)
    7880      : base(name, description, actualName) {
    7981    }
     82    [StorableConstructor]
     83    protected ValueLookupParameter(bool deserializing) : base(deserializing) { }
     84
     85    [StorableHook(HookType.AfterDeserialization)]
     86    private void Initialize() {
     87      if (value != null) value.ToStringChanged += new EventHandler(Value_ToStringChanged);
     88    }
    8089
    8190    public override IDeepCloneable Clone(Cloner cloner) {
    8291      ValueLookupParameter<T> clone = (ValueLookupParameter<T>)base.Clone(cloner);
    83       clone.Value = (T)cloner.Clone(value);
     92      clone.value = (T)cloner.Clone(value);
     93      clone.Initialize();
    8494      return clone;
    8595    }
Note: See TracChangeset for help on using the changeset viewer.