public void AddListener <TDataType>(string name, Delegates.DataListener <TDataType> listener) where TDataType : EventData { ValidateName(name); if (listener == null) { throw new ArgumentNullException(nameof(listener)); } if (IsDispatching) { throw new InvalidOperationException("Cannot add listeners while dispatching"); } InternalAddListener <TDataType>(name, new DataInvoker <TDataType>(listener)); }
public void AddListener <TDataType>(Delegates.DataListener <TDataType> listener) where TDataType : EventData { if (listener == null) { throw new ArgumentNullException(nameof(listener)); } if (IsDispatching) { throw new InvalidOperationException("Cannot add listeners while dispatching"); } var name = EventUtils.EventName <TDataType>(); InternalAddListener <TDataType>(name, new DataInvoker <TDataType>(listener)); }
public DataInvoker(Delegates.DataListener <TDataType> listener) { Listener = listener ?? throw new ArgumentNullException(nameof(listener)); }