public void Dispose() { if (m_data_set != null) { m_data_set.Dispose(); m_data_source.Dispose(); } m_data_set = null; }
/// <summary> /// This allows overriding layers to handle any memory cleanup. /// </summary> /// <param name="disposeManagedResources">True if managed resources should be set to null.</param> protected virtual void Dispose(bool disposeManagedResources) { if (_isDisposed) { return; } if (disposeManagedResources) { LayerSelected = null; ZoomToLayer = null; ShowProperties = null; FinishedLoading = null; SelectionChanged = null; base.ContextMenuItems = null; MyExtent = null; base.LegendText = null; _progressHandler = null; _progressMeter = null; _invalidatedRegion = null; _mapFrame = null; _propertyDialogProvider = null; // Since the InnerDataset likely contains unmanaged memory constructs, dispose of it here. if (_dataSet != null) { _dataSet.UnlockDispose(); if (!_dataSet.IsDisposeLocked) { _dataSet.Dispose(); } _dataSet = null; } if (_editCopy != null) { _editCopy.Dispose(); _editCopy = null; } } _isDisposed = true; }