Esempio n. 1
0
 IEnumerable <object> IEffectParameterValueGenerator.GenerateValues(ParameterKey key)
 {
     if (!((From < To && Step <= 0) || (From > To && Step >= 0))) // condition to have a finite set of value within the range
     {
         //var converType = key.PropertyType;
         // TODO: code is not safe if step is zero or (from-to)/step is very high
         if (From == To)
         {
             yield return(key.ConvertValue(From));//Convert.ChangeType(From, converType));
         }
         else if (From < To)
         {
             for (var value = From; value - To < 0.000001; value += Step)
             {
                 yield return(key.ConvertValue(value));//Convert.ChangeType(value, converType);
             }
         }
         else if (From > To)
         {
             for (var value = From; To - value < 0.000001; value += Step)
             {
                 yield return(key.ConvertValue(value));//Convert.ChangeType(value, converType);
             }
         }
     }
 }
 void IEffectParameterValueGenerator.AddValue(ParameterKey key, object value)
 {
     this.Add((T)key.ConvertValue(value));
 }
 IEnumerable <object> IEffectParameterValueGenerator.GenerateValues(ParameterKey key)
 {
     return(this.Select(value => key.ConvertValue(value)));
 }