public void Notify(object sender, EventBusToken token) { Action <object> action = null; if (actions.TryGetValue(token, out action)) { action(sender); } }
public void Listen(EventBusToken token, Action <object> action) { Action <object> existingAction = null; if (actions.TryGetValue(token, out existingAction)) { actions[token] = (Action <object>)Delegate.Combine(existingAction, action); } else { actions.Add(token, action); } }