- Timestamp:
- 04/13/10 06:41:56 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Parameters/3.3/OptionalConstrainedValueParameter.cs
r3136 r3317 33 33 [StorableClass] 34 34 public class OptionalConstrainedValueParameter<T> : Parameter, IValueParameter<T> where T : class, IItem { 35 [Storable] 35 36 private ItemSet<T> validValues; 36 [Storable]37 37 public ItemSet<T> ValidValues { 38 38 get { return validValues; } 39 private set {40 DeregisterValidValuesEvents();41 validValues = value;42 RegisterValidValuesEvents();43 }44 39 } 45 40 41 [Storable] 46 42 private T value; 47 [Storable]48 43 public virtual T Value { 49 44 get { return this.value; } … … 74 69 public OptionalConstrainedValueParameter() 75 70 : base("Anonymous", typeof(T)) { 76 ValidValues = new ItemSet<T>(); 71 this.validValues = new ItemSet<T>(); 72 Initialize(); 77 73 } 78 74 public OptionalConstrainedValueParameter(string name) 79 75 : base(name, typeof(T)) { 80 ValidValues = new ItemSet<T>(); 76 this.validValues = new ItemSet<T>(); 77 Initialize(); 81 78 } 82 79 public OptionalConstrainedValueParameter(string name, ItemSet<T> validValues) 83 80 : base(name, typeof(T)) { 84 ValidValues = validValues; 81 this.validValues = validValues; 82 Initialize(); 85 83 } 86 84 public OptionalConstrainedValueParameter(string name, ItemSet<T> validValues, T value) 87 85 : base(name, typeof(T)) { 88 ValidValues = validValues; 89 Value = value; 86 this.validValues = validValues; 87 this.value = value; 88 Initialize(); 90 89 } 91 90 public OptionalConstrainedValueParameter(string name, string description) 92 91 : base(name, description, typeof(T)) { 93 ValidValues = new ItemSet<T>(); 92 this.validValues = new ItemSet<T>(); 93 Initialize(); 94 94 } 95 95 public OptionalConstrainedValueParameter(string name, string description, ItemSet<T> validValues) 96 96 : base(name, description, typeof(T)) { 97 ValidValues = validValues; 97 this.validValues = validValues; 98 Initialize(); 98 99 } 99 100 public OptionalConstrainedValueParameter(string name, string description, ItemSet<T> validValues, T value) 100 101 : base(name, description, typeof(T)) { 101 ValidValues = validValues; 102 Value = value; 102 this.validValues = validValues; 103 this.value = value; 104 Initialize(); 105 } 106 [StorableConstructor] 107 protected OptionalConstrainedValueParameter(bool deserializing) : base(deserializing) { } 108 109 [StorableHook(HookType.AfterDeserialization)] 110 private void Initialize() { 111 RegisterValidValuesEvents(); 112 if (value != null) value.ToStringChanged += new EventHandler(Value_ToStringChanged); 103 113 } 104 114 105 115 public override IDeepCloneable Clone(Cloner cloner) { 106 116 OptionalConstrainedValueParameter<T> clone = (OptionalConstrainedValueParameter<T>)base.Clone(cloner); 107 clone.ValidValues = (ItemSet<T>)cloner.Clone(validValues); 108 clone.Value = (T)cloner.Clone(value); 117 clone.validValues = (ItemSet<T>)cloner.Clone(validValues); 118 clone.value = (T)cloner.Clone(value); 119 clone.Initialize(); 109 120 return clone; 110 121 }
Note: See TracChangeset
for help on using the changeset viewer.