public virtual void Dispose() { InformerModel?.Dispose(); CatalogModel?.Dispose(); ExplorerModel?.Dispose(); EditorModel?.Dispose(); _modelDisposable.Dispose(); }
private IDisposable BindExplorer(IFactory <Target, ExplorerModel> explorerModelFactory) { var chatSubscription = SubscribeToSelectedChat(chat => { ExplorerModel?.Dispose(); ExplorerModel = explorerModelFactory.Create(chat); }); var aggregateSubscription = SubscribeToSelectedAggregate(aggregate => { ExplorerModel?.Dispose(); ExplorerModel = explorerModelFactory.Create(aggregate); }); return(Disposable.Create(() => { chatSubscription.Dispose(); aggregateSubscription.Dispose(); })); }