/// <summary> /// Adds the specified project proxy. /// </summary> /// <param name="projectProxy">The project proxy.</param> public void Add(ProjectProxy projectProxy) { if (projectProxy == null) { throw new ArgumentNullException(nameof(projectProxy)); } _projectByHierarchy.Add(projectProxy.Hierarchy, projectProxy); _projectByName.Add(projectProxy.Name, projectProxy); }
/// <summary> /// Removes the specified project proxy. /// </summary> /// <param name="projectProxy">The project proxy.</param> /// <exception cref="ArgumentNullException">projectProxy</exception> public void Remove(ProjectProxy projectProxy) { if (projectProxy == null) { throw new ArgumentNullException(nameof(projectProxy)); } _projectByHierarchy.Remove(projectProxy.Hierarchy); _projectByName.Remove(projectProxy.Name); }
/// <summary> /// Tries to find a project with the specified name. /// </summary> /// <param name="name">The name.</param> /// <param name="project">The project.</param> /// <returns><c>true</c> if the project with the specified name is cached; otherwise, <c>false</c>.</returns> public bool TryGetProjectByName(string name, out ProjectProxy project) { return(_projectByName.TryGetValue(name, out project)); }
/// <summary> /// Tries to find a project with the specified hierarchy. /// </summary> /// <param name="hierarchy">The hierarchy.</param> /// <param name="project">The project.</param> /// <returns><c>true</c> if the project with the specified hierarchy is cached; otherwise, <c>false</c>.</returns> public bool TryGetProjectByHierarchy(IVsHierarchy hierarchy, out ProjectProxy project) { return(_projectByHierarchy.TryGetValue(hierarchy, out project)); }
/// <summary> /// Renames the specified project proxy. /// </summary> /// <param name="projectProxy">The project proxy.</param> /// <param name="oldName">The old name.</param> /// <param name="newName">The new name.</param> public void Rename(ProjectProxy projectProxy, string oldName, string newName) { _projectByName.Remove(oldName); _projectByName.Add(newName, projectProxy); }