IEvent.cs 406 B

1234567891011121314151617181920212223242526
  1. using System;
  2. namespace ET
  3. {
  4. public interface IEvent
  5. {
  6. Type Type { get; }
  7. }
  8. public abstract class BEvent<A>: IEvent
  9. {
  10. public Type Type
  11. {
  12. get
  13. {
  14. return typeof(A);
  15. }
  16. }
  17. protected abstract ETTask OnEvent(A a);
  18. public async ETTask Handle(A a)
  19. {
  20. await OnEvent(a);
  21. }
  22. }
  23. }