IEventData{TData}.cs 1005 B

1234567891011121314151617181920212223242526272829
  1. namespace EventBus
  2. {
  3. /// <summary>
  4. /// 事件句柄
  5. /// </summary>
  6. /// <typeparam name="TData">事件发布数据类型</typeparam>
  7. public interface IEventData<TData> : IBaseEventData
  8. {
  9. /// <summary>
  10. /// 发布同步事件
  11. /// </summary>
  12. /// <param name="sender">事件源</param>
  13. /// <param name="data">事件数据</param>
  14. /// <param name="properties">筛选器</param>
  15. void Publish(object sender, TData data, Properties? properties = null);
  16. /// <summary>
  17. /// 发布异步事件
  18. /// </summary>
  19. Task PublishAsync(object sender, TData data, Properties? properties = null);
  20. /// <summary>
  21. /// 订阅事件
  22. /// </summary>
  23. /// <param name="action">事件处理函数</param>
  24. /// <param name="properties">筛选器</param>
  25. Guid Subscrip(Action<object, EventArgs<TData>> action, Properties? properties = null);
  26. }
  27. }