Interface IEventBusManagedSubscriber
Interface for an event bus that manages subscriptions.
public interface IEventBusManagedSubscriber
- Extension Methods
Methods
Subscribe<TEvent>(object, EventHandler<TEvent>, int)
Subscribe a handler and receive an IDisposable that will unsubscribe when disposed.
IDisposable Subscribe<TEvent>(object owner, EventHandler<TEvent> handler, int handlerHash = 0) where TEvent : IEvent
Parameters
owner
objecthandler
EventHandler<TEvent>handlerHash
int
Returns
Type Parameters
TEvent
Subscribe<TEvent>(object, IEventListener<TEvent>)
Subscribe a handler and receive an IDisposable that will unsubscribe when disposed.
IDisposable Subscribe<TEvent>(object owner, IEventListener<TEvent> handler) where TEvent : IEvent
Parameters
owner
objecthandler
IEventListener<TEvent>
Returns
Type Parameters
TEvent
Subscribe<TEvent>(object, Action<TEvent>)
Subscribe a handler and receive an IDisposable that will unsubscribe when disposed.
IDisposable Subscribe<TEvent>(object owner, Action<TEvent> handler) where TEvent : IEvent
Parameters
Returns
Type Parameters
TEvent
Subscribe<TEvent>(object, Func<TEvent, ValueTask>)
Convenience wrapper for synchronous handlers that return void
.
IDisposable Subscribe<TEvent>(object owner, Func<TEvent, ValueTask> handler) where TEvent : IEvent
Parameters
Returns
Type Parameters
TEvent
Unsubscribe(object)
Unsubscribe all handlers for the given owner.
void Unsubscribe(object owner)
Parameters
owner
object
Unsubscribe<TEvent>(object, EventHandler<TEvent>)
Unsubscribe a handler.
void Unsubscribe<TEvent>(object owner, EventHandler<TEvent> handler) where TEvent : IEvent
Parameters
owner
objecthandler
EventHandler<TEvent>
Type Parameters
TEvent
Unsubscribe<TEvent>(object, IEventListener<TEvent>)
Unsubscribe a handler.
void Unsubscribe<TEvent>(object owner, IEventListener<TEvent> handler) where TEvent : IEvent
Parameters
owner
objecthandler
IEventListener<TEvent>
Type Parameters
TEvent
Unsubscribe<TEvent>(object, Action<TEvent>)
Unsubscribe a handler.
void Unsubscribe<TEvent>(object owner, Action<TEvent> handler) where TEvent : IEvent
Parameters
Type Parameters
TEvent