public void Unlisten(EmptySignalDelegate listener) { if (listener == null) { throw new ArgumentNullException(nameof(listener)); } _listeners.RemoveAll(t => t.Target == listener); }
public void Listen(EmptySignalDelegate listener) { if (listener == null) { throw new ArgumentNullException(nameof(listener)); } _listeners.Add(new WeakReference(listener)); }