Вход на сайт
Абасс... обсудите рахитекурту
3762 просмотров
Перейти к просмотру всей ветки
в ответ alex445 21.05.24 14:53, Последний раз изменено 21.05.24 15:33 (alex445)
Переписал с одним методом валидации так. С учётом, что мне надо в методе валидации обновить отвалидированное значение изменяемого свойства, используя при этом правильные свойства, с учётом уровня доступности полей (это я про "currentValue = ... // validate currentValue using MaxValue, currentValue"). Т.е. сам метод валидации ничего не возвращает, а все присваивания полям делает внутри себя.
public class Param { double maxValue; public double MaxValue { get => maxValue; set { maxValue = value; Validate(); } } protected virtual void Validate() { maxValue = ... // validate maxValue using maxValue } } public class ParamVolatile : Param { double currentValue; public double CurrentValue { get => currentValue; set { currentValue = value; Validate(); } } protected override void Validate() { base.Validate(); currentValue = ... // validate currentValue using MaxValue, currentValue } }