// вызов событий private void CallEvent(AccountEvent e, AccountStateHandler handler) { if (e != null) { handler?.Invoke(this, e); } }
protected virtual void OnCalculated(AccountEvent e) { CallEvent(e, Calculated); }
protected virtual void OnClosed(AccountEvent e) { CallEvent(e, Closed); }
protected virtual void OnAdded(AccountEvent e) { CallEvent(e, Added); }
protected virtual void OnWithdrawed(AccountEvent e) { CallEvent(e, WithDrawed); }
// вызов отдельных событий. Для каждого события определяется свой витуальный метод protected virtual void OnOpened(AccountEvent e) { CallEvent(e, Opened); }