示例#1
0
        /// <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);
        }
示例#2
0
        /// <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);
        }
示例#3
0
 /// <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));
 }
示例#4
0
 /// <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));
 }
示例#5
0
 /// <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);
 }