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