void AccumulateDigits(string msg, bool isInput) { if (isInput) { calcState = CalcState.AccumulateDigits; tempNumber += msg; changeTextDelegate.Invoke(tempNumber); } else { if (Rules.IsDigit(msg)) { AccumulateDigits(msg, true); } else if (Rules.IsOperation(msg)) { Operation(msg, true); } else if (Rules.IsResult(msg)) { Result(msg, true); } else if (Rules.IsQuickOperation(msg)) { QuickOperation(msg, true); } else if (Rules.IsPoint(msg) && isPoint) { isPoint = false; AccumulateDigits(msg, true); } } }