public void AddSubscriber(IHostIOSubscriber subscriber) { foreach (WeakReference reference in subscribers) { if (reference.Target == subscriber) { return; } } subscribers.Add(new WeakReference(subscriber)); }
public void AddSubscriber(IHostIOSubscriber subscriber) { foreach (WeakReference reference in subscribers) { if (reference.Target == subscriber) { return; } } subscribers.Add(new WeakReference(subscriber)); }
public void RemoveSubscriber(IHostIOSubscriber subscriber) { var matches = new List <WeakReference>(); foreach (WeakReference reference in subscribers) { if (reference.Target == subscriber) { matches.Add(reference); } } foreach (WeakReference reference in matches) { subscribers.Remove(reference); } }
public void RemoveSubscriber(IHostIOSubscriber subscriber) { var matches = new List<WeakReference>(); foreach (WeakReference reference in subscribers) { if (reference.Target == subscriber) { matches.Add(reference); } } foreach (WeakReference reference in matches) { subscribers.Remove(reference); } }