IEventBus.cs 395 B

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