using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace ObserverPattern { public class Unsubscriber : IDisposable { private List> _observers; private IObserver _observer; public Unsubscriber(List> observers, IObserver observer) { _observers = observers; _observer = observer; } public void Dispose() { if (!(_observer == null)) _observers.Remove(_observer); } } }