Это случается со мной время от времени, и я всегда заканчиваю тем, что решаю это одинаково, а затем желаю более чистого пути.
Я начинаю с вызовов соответствующих служебных функций, за которыми следуют ивызов обновления.
SynchA();
SynchB();
UpdateLastTime();
Затем позже я добавляю флажки, чтобы у меня было:
if(synchA.Checked)
{
SynchA();
}
if(synchB.Checked)
{
SynchB();
}
НО теперь я хочу вызывать UpdateLastTime () из ОДНОГО ИЛИ ОБА, оба выполняются так неизменноВ итоге я получаю:
bool synchHappened = false;
if(synchA.Checked)
{
SynchA();
synchHappened = true;
}
if(synchB.Checked)
{
SynchB();
synchHappened = true;
}
if(synchHappened)
{
UpdateLastTime();
}
Этот последний шаг всегда беспокоит меня, потому что я распространяю этот бул на три ветви логики.
Есть ли какой-то очевидный лучший подход к вышеупомянутомулогика / сценарий, который я мог бы использовать?