Thanks a lot for the useful insight @Paul_Danyliuk !
Unfortunately, I have no memories of different behaviours with or without RunActions()
.
I basically use it only when I need to - well - run multiple actions instead of a single one.
Perhaps this could be a good starting point of discussion in order to evolve and extend the concept with a Run(recalc:boolean, Actions[])
in order to have a specific - and conscious - control.
And maybe with a more comprehensive syntax, as expressed elsewhere for different needs:
Having conditional defaulted constructs, would help both writability and readability:
Run(true, AddRow(...)).When(condition) // explicitly recalculate at each AddRow() if the condition is met. If not, _Noop() is implicit
When(condition, Run(true, AddRow(...)) // same with nesting syntax
or
Run(AddRow(...)).Unless(condition) // Do not trigger the recalculation (by default)
Unless(condition, Run(AddRow(...)) // same with nesting syntax