Ejemplo n.º 1
0
        /// <summary>
        /// Releases all resource used by the <see cref="MonoDevelop.Projects.SolutionItem"/> object.
        /// </summary>
        /// <remarks>
        /// Call <see cref="Dispose"/> when you are finished using the <see cref="MonoDevelop.Projects.SolutionItem"/>. The
        /// <see cref="Dispose"/> method leaves the <see cref="MonoDevelop.Projects.SolutionItem"/> in an unusable state.
        /// After calling <see cref="Dispose"/>, you must release all references to the
        /// <see cref="MonoDevelop.Projects.SolutionItem"/> so the garbage collector can reclaim the memory that the
        /// <see cref="MonoDevelop.Projects.SolutionItem"/> was occupying.
        /// </remarks>
        public virtual void Dispose()
        {
            Disposed = true;

            if (extendedProperties != null)
            {
                foreach (object ob in extendedProperties.Values)
                {
                    IDisposable disp = ob as IDisposable;
                    if (disp != null)
                    {
                        disp.Dispose();
                    }
                }
                extendedProperties = null;
            }
            if (handler != null)
            {
                handler.Dispose();
                // handler = null;
            }
            if (userProperties != null)
            {
                ((IDisposable)userProperties).Dispose();
                userProperties = null;
            }

            // parentFolder = null;
            // parentSolution = null;
            // internalChildren = null;
            // policies = null;
        }
Ejemplo n.º 2
0
 public virtual void Dispose()
 {
     if (extendedProperties != null)
     {
         foreach (object ob in extendedProperties.Values)
         {
             IDisposable disp = ob as IDisposable;
             if (disp != null)
             {
                 disp.Dispose();
             }
         }
     }
     if (handler != null)
     {
         handler.Dispose();
     }
     if (userProperties != null)
     {
         ((IDisposable)userProperties).Dispose();
     }
 }