protected override void Dispose(bool disposing) { if (disposing) { if (_trackDocumentsEventsCookie != 0) { var serviceProvider = this.AsVsServiceProvider(); IVsTrackProjectDocuments2 trackDocuments = serviceProvider.GetTrackProjectDocuments2(); trackDocuments.UnadviseTrackProjectDocumentsEvents(_trackDocumentsEventsCookie); _trackDocumentsEventsCookie = 0; } if (_grammarFileObjectExtenderCookie != 0) { ObjectExtenders objectExtenders = (ObjectExtenders)GetService(typeof(ObjectExtenders)); objectExtenders.UnregisterExtenderProvider(_grammarFileObjectExtenderCookie); _grammarFileObjectExtenderCookie = 0; } if (_languageInfo != null) { _languageInfo.Dispose(); _languageInfo = null; } if (_languageInfo4 != null) { _languageInfo4.Dispose(); _languageInfo4 = null; } } base.Dispose(disposing); }
protected override void Dispose(bool disposing) { // Unadvise solution listeners. try { if (disposing) { // only decrement the reference count once, regardless of the number of times Dispose is called. // Ignore if Initialize was never called. if (_initialized && !_disposed && Interlocked.Decrement(ref _singleFileGeneratorNodeExtenderReferenceCount) == 0) { ObjectExtenders objectExtenders = (ObjectExtenders)GetService(typeof(ObjectExtenders)); objectExtenders.UnregisterExtenderProvider(_singleFileGeneratorNodeExtenderCookie); } foreach (SolutionListener solutionListener in this.solutionListeners) { solutionListener.Dispose(); } } } finally { _disposed = true; base.Dispose(disposing); } }
protected override void Dispose(bool disposing) { if (null != propertyExtender && 0 != extenderCookie) { propertyExtender.UnregisterExtenderProvider(extenderCookie); } base.Dispose(disposing); }
protected override void Dispose(bool disposing) { if (extensionMgr != null) { foreach (int cookie in extenderCookies) { extensionMgr.UnregisterExtenderProvider(cookie); } } base.Dispose(disposing); }