Ejemplo n.º 1
0
        private IDisposable BindRemovals()
        {
            return(Roots.ObserveRemovals()
                   .SubscribeOn(RxApp.TaskpoolScheduler)
                   .ObserveOn(RxApp.MainThreadScheduler)
                   .SubscribeWithLog(path =>
            {
                if (_roots.TryGetValue(path, out var node))
                {
                    _roots.Remove(path);
                    Nodes.Remove(node);
                }

                if (_disposables.TryGetValue(path, out var subscription))
                {
                    _disposables.Remove(path);
                    subscription.Dispose();
                }
            }));
        }