IAnonymousEventData{T}.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. namespace EventBus
  2. {
  3. /// <summary>
  4. /// 匿名事件
  5. /// </summary>
  6. /// <typeparam name="T"></typeparam>
  7. public interface IAnonymousEventData<T> : IBaseEventData
  8. {
  9. /// <summary>
  10. /// 发布同步事件
  11. /// </summary>
  12. T Publish(object sender, Properties? properties = null, params object[] data);
  13. /// <summary>
  14. /// 发布异步事件
  15. /// </summary>
  16. Task<T> PublishAsync(object sender, Properties? properties = null, params object[] data);
  17. /// <summary>
  18. /// 发布数组请求同步事件
  19. /// </summary>
  20. List<T> PublishList(object sender, Properties? properties = null, params object[] data);
  21. /// <summary>
  22. /// 发布数组请求异步事件
  23. /// </summary>
  24. Task<List<T>> PublishListAsync(object sender, Properties? properties = null, params object[] data);
  25. /// <summary>
  26. /// 订阅事件
  27. /// </summary>
  28. /// <param name="func">事件处理函数</param>
  29. /// <param name="properties">筛选器</param>
  30. Guid Subscrip(Func<object, EventArgs<object[]>, T> func, Properties? properties = null);
  31. /// <summary>
  32. /// 订阅事件
  33. /// </summary>
  34. /// <param name="func">事件处理函数</param>
  35. /// <param name="properties">筛选器</param>
  36. Guid SubscripList(Func<object, EventArgs<object[]>, List<T>> func, Properties? properties = null);
  37. }
  38. }