int IVsSolutionEvents.OnBeforeCloseProject(IVsHierarchy pHierarchy, int fRemoved) { ThreadHelper.ThrowIfNotOnUIThread(); if (OnBeforeCloseProject != null) { SolutionItem?item = SolutionItem.FromHierarchy(pHierarchy, VSConstants.VSITEMID_ROOT); if (item is Project project) { OnBeforeCloseProject?.Invoke(project); } #if VS14 else if (item is SolutionFolder folder && folder.FullPath != null) { OnBeforeCloseFolder?.Invoke(folder.FullPath); } #endif } return(VSConstants.S_OK); }
void IVsSolutionEvents7.OnBeforeCloseFolder(string folderPath) { OnBeforeCloseFolder?.Invoke(folderPath); }