EventArgs{T}.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. namespace EventBus
  2. {
  3. public sealed class EventArgs<T> : IEventArgs<T>
  4. {
  5. private readonly T data;
  6. private readonly Type type = typeof(void);
  7. private readonly IEventBroker eventBroker;
  8. private readonly IBaseEventData baseEventData;
  9. private readonly Guid intPtr;
  10. public IEventBroker EventBroker => eventBroker;
  11. public Guid FunctionPtr => intPtr;
  12. public IBaseEventData BaseEventData => baseEventData;
  13. /// <summary>
  14. ///
  15. /// </summary>
  16. public bool Handle { get; set; }
  17. /// <summary>
  18. /// 事件数据
  19. /// </summary>
  20. public T Data => data;
  21. public Type ReturnType => type;
  22. public EventArgs(T value, IEventBroker eventBroker, Guid FuncintPtr, IBaseEventData eventData)
  23. {
  24. this.eventBroker = eventBroker;
  25. this.intPtr = FuncintPtr;
  26. data = value;
  27. baseEventData = eventData;
  28. }
  29. public EventArgs(T value, IEventBroker eventBroker, Guid FuncintPtr, IBaseEventData eventData, Type returntype) : this(value, eventBroker, FuncintPtr, eventData)
  30. {
  31. this.type = returntype;
  32. }
  33. }
  34. }