using System; namespace CPF.ReoGrid { public class NumericalAutoFillSectionEntry : IAutoFillSectionEntry { public object Value { get; } public NumericalAutoFillSectionEntry(double value) { this.Value = value; } public bool IsSequenceOf(IAutoFillSectionEntry otherEntry) { return otherEntry is NumericalAutoFillSectionEntry; } public object GetIterationValue(object baseValue, object incrementPerIteration, int iteration) { double differenceToBaseValue = this.GetDifferenceToBaseValue(baseValue); double num = (double)incrementPerIteration; return (double)baseValue + differenceToBaseValue + num * (double)iteration; } public object GetIncrementPerIteration(object baseValue, int numberOfEntries) { return (numberOfEntries > 1) ? (this.GetDifferenceToBaseValue(baseValue) / (double)(numberOfEntries - 1) * (double)numberOfEntries) : 0.0; } private double GetDifferenceToBaseValue(object baseValue) { return (double)this.Value - (double)baseValue; } } }