/// <summary> /// Unsubscribes the given object from changes in the project structure. /// </summary> /// <param name="projectExplorerObserver">The object to observe project structure changes.</param> public void Unsubscribe(IProjectExplorerObserver projectExplorerObserver) { lock (this.ObserverLock) { if (this.ProjectExplorerObservers.Contains(projectExplorerObserver)) { this.ProjectExplorerObservers.Remove(projectExplorerObserver); } } }
/// <summary> /// Subscribes the given object to changes in the project structure. /// </summary> /// <param name="projectExplorerObserver">The object to observe project structure changes.</param> public void Subscribe(IProjectExplorerObserver projectExplorerObserver) { lock (this.ObserverLock) { if (!this.ProjectExplorerObservers.Contains(projectExplorerObserver)) { this.ProjectExplorerObservers.Add(projectExplorerObserver); projectExplorerObserver.Update(this.ProjectRoot); projectExplorerObserver.UpdateStructure(this.ProjectRoot); } } }