Login
Абасс... обсудите рахитекурту
3762 просмотров
Перейти к просмотру всей ветки
in Antwort alex445 18.05.24 14:07, Zuletzt geändert 18.05.24 14:16 (alex445)
Сделал с new и отдельным вызовом валидирующего метода ValidateMaxValue для потомка. И ещё вынес валидацию CurrentValue тоже в отдельный метод. Вроде, так лучше
public class Param { double maxValue; public double MaxValue { get => maxValue; set => maxValue = ValidateMaxValue(value); } protected double ValidateMaxValue(double value) => ... } public class ParamVolatile : Param { double maxValue; public new double MaxValue { get => maxValue; set { maxValue = ValidateMaxValue(value); currentValue = ValidateCurrentValue(CurrentValue, 0, maxValue); } } double currentValue; public double CurrentValue { get => currentValue; set => currentValue = ValidateCurrentValue(CurrentValue, 0, MaxValue); } ValidateCurrentValue(double value, double min, double max) => Math.Clamp(value, min, max); }