public void Publish(ExpressionEvent expressionEvent, string data = "") { foreach (var subscriber in subscribers) { subscriber.Notify(expressionEvent, data); } }
/// ------------ Public ------------ public void Notify(ExpressionEvent expressionEvent, string data) { switch (expressionEvent) { case ExpressionEvent.Accept: Accept(); break; case ExpressionEvent.Remove: Remove(); break; case ExpressionEvent.Number: AddNumber(data); break; case ExpressionEvent.Point: AddPoint(); break; case ExpressionEvent.Plus: AddOperation(new ExpressionPlus()); break; case ExpressionEvent.Minus: AddOperation(new ExpressionMinus()); break; case ExpressionEvent.Multiplicate: AddOperation(new ExpressionMultiplicate()); break; case ExpressionEvent.Divide: AddOperation(new ExpressionDivide()); break; case ExpressionEvent.Calculate: Calculate(); return; } Show(); }