示例#1
0
        /// <summary>
        /// Implementation of the <see cref="IDisposable"/> pattern
        /// </summary>
        /// <param name="disposing">True if this object is being disposed, false if it is being finalized</param>
        protected virtual void Dispose(bool disposing)
        {
            if (disposing)
            {
                ParentDesktopObject = null;

                if (_toolSet != null)
                {
                    _toolSet.Dispose();
                    _toolSet = null;
                }

                StopLoadingPriors();
                StopPrefetching();

                if (_physicalWorkspace != null)
                {
                    _physicalWorkspace.Dispose();
                    _physicalWorkspace = null;
                }

                if (_logicalWorkspace != null)
                {
                    _logicalWorkspace.Dispose();
                    _logicalWorkspace = null;
                }

                if (_studyTree != null)
                {
                    _studyTree.Dispose();
                    _studyTree = null;
                }

                if (_layoutManager != null)
                {
                    _layoutManager.Dispose();
                    _layoutManager = null;
                }

                if (ExtensionData != null)
                {
                    ExtensionData.Dispose();
                    ExtensionData = null;
                }
            }
        }