Changeset 17266 for branches/3026_IntegrationIntoSymSpace/HeuristicLab.Manufacture/ParameterTransformer/ConstrainedValueParameterTransformer.cs
- Timestamp:
- 09/20/19 16:23:42 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/3026_IntegrationIntoSymSpace/HeuristicLab.Manufacture/ParameterTransformer/ConstrainedValueParameterTransformer.cs
r17263 r17266 6 6 using HeuristicLab.Core; 7 7 8 namespace ParameterTest.ParameterTransformer{8 namespace HeuristicLab.Manufacture { 9 9 public class ConstrainedValueParameterTransformer : ParameterBaseTransformer { 10 public override void SetValue(IParameter parameter, ParameterData data) {10 public override void InjectData(IParameter parameter, ParameterData data) { 11 11 foreach (var x in parameter.Cast<dynamic>().ValidValues) 12 12 if (x.GetType().Name == CastValue<string>(data.Default)) 13 13 parameter.ActualValue = x; 14 14 } 15 16 public override ParameterData ExtractData(IParameter value) { 17 return new ParameterData() { 18 Name = value.Name, 19 Default = value.ActualValue?.GetType().Name, 20 Range = GetValidValues(value) 21 }; 22 } 23 24 #region Helper 25 private object[] GetValidValues(IParameter value) { 26 List<object> list = new List<object>(); 27 var values = value.Cast<dynamic>().ValidValues; 28 foreach (var x in values) list.Add(x); 29 return list.Select(x => x.GetType().Name).ToArray(); 30 } 31 #endregion 15 32 } 16 33 }
Note: See TracChangeset
for help on using the changeset viewer.