IEventBus.cs 454 B

1234567891011121314151617
  1. namespace WarcViewerBlazorWinForm.Library.EventBus
  2. {
  3. public interface IEventBus
  4. {
  5. bool Subscript<T>(Action<T> callBack);
  6. bool UnSubscript<T>(Action<T> callBack);
  7. bool Publish<T>();
  8. bool Publish<T>(T obj);
  9. bool Subscript<TA, TT>(Func<TT> callBack) => Subscript<TA>(_ => Publish(callBack()));
  10. bool Subscript<TA, TT>(Func<TA, TT> callBack) => Subscript<TA>(a => Publish(callBack(a)));
  11. }
  12. }