using System.Numerics; namespace AutoAgent.Domain.Utils { public sealed class RandomNumberGenerator : BaseGenerator, INumberGenerator where T : struct, INumber { public override double Step { get; protected set; } public INumberGenerator Self { get => this; } protected override T Calc() { return NextGenerate(Min, Max); } public RandomNumberGenerator(T min, T max) : base(min, max) { Step = CalcStepByCount(Int32.MaxValue); } } }