| 123456789101112131415161718192021222324252627282930313233343536373839 | using System.Collections.Generic;using System.ComponentModel;using System.Linq;using System.Net.Http.Headers;namespace InABox.Avalonia.Converters;public class DoubleCalculatorFunction : AbstractCalculatorFunction<double, NumericCalculatorType>{            protected override double Calculate(double current, double next, NumericCalculatorType type)    {        var result = type switch        {            NumericCalculatorType.Sum => current + next,            NumericCalculatorType.Product => current * next,            NumericCalculatorType.Subtraction => current - next,            NumericCalculatorType.Maximum => current > next ? current : next,            NumericCalculatorType.Minimum => current < next ? current : next,            _ => current        };        return result;    }}public class DoubleArrayConverter : AbstractNumericArrayConverter<double>{    protected override double[] Convert(IEnumerable<string> values)    {        var result =  values.Select(double.Parse).ToArray();        return result;    }}    public class DoubleCalculator : AbstractNumericCalculator<double, DoubleCalculatorFunction>{    [TypeConverter(typeof(DoubleArrayConverter))]    public override double[] Constants { get; set; }}
 |