public int OnQueryCloseProject(IVsHierarchy pHierarchy, int fRemoving, ref int pfCancel) { _logger?.LogEventMessage($"Hierarchy: {Utils.GetName(pHierarchy)}, Removing: {Convert.ToBoolean(fRemoving)}"); var eventArgs = new ProjectCloseQueryEventArgs(pHierarchy, Convert.ToBoolean(fRemoving)); QueryCloseProject?.Invoke(this, eventArgs); if (eventArgs.Cancel) { pfCancel = 1; _logger?.LogEventMessage("Cancelled := True"); } return(VSConstants.S_OK); }
int IVsSolutionEvents.OnQueryCloseProject(IVsHierarchy pHierarchy, int fRemoving, ref int pfCancel) { QueryCloseProject?.Invoke(this, EventArgs.Empty); return(VSConstants.S_OK); }