<PackageReference Include="System.Configuration.ConfigurationManager" Version="8.0.0-preview.7.23375.6" />

IntegerValidator

Provides validation of an Int32 value.
namespace System.Configuration { public class IntegerValidator : ConfigurationValidatorBase { private enum ValidationFlags { None, ExclusiveRange } private readonly ValidationFlags _flags; private readonly int _maxValue; private readonly int _minValue; private readonly int _resolution; public IntegerValidator(int minValue, int maxValue) : this(minValue, maxValue, false, 1) { } public IntegerValidator(int minValue, int maxValue, bool rangeIsExclusive) : this(minValue, maxValue, rangeIsExclusive, 1) { } public IntegerValidator(int minValue, int maxValue, bool rangeIsExclusive, int resolution) { if (resolution <= 0) throw new ArgumentOutOfRangeException("resolution"); if (minValue > maxValue) throw new ArgumentOutOfRangeException("minValue", System.SR.Validator_min_greater_than_max); _minValue = minValue; _maxValue = maxValue; _resolution = resolution; _flags = (rangeIsExclusive ? ValidationFlags.ExclusiveRange : ValidationFlags.None); } public override bool CanValidate(Type type) { return type == typeof(int); } public override void Validate(object value) { ValidatorUtils.HelperParamValidation(value, typeof(int)); ValidatorUtils.ValidateScalar((int)value, _minValue, _maxValue, _resolution, _flags == ValidationFlags.ExclusiveRange); } } }