What is the importance of IDisposable interface?

IDisposable is an interface which provides a mechanism for releasing unmanaged resources which are not collected by Garbage Collector.
  • IDisposable is an interface which provides a mechanism for releasing unmanaged resources.
  • It contains a single method called Dispose() which is one of the ways developers can use to release unmanaged resources.
  • the Garbage Collector provided by the CLR can only maintain and release managed code, but it can’t act upon unmanaged code such as Database connections, Sockets etc.
  • In such cases the developers must ensure the resources are properly released once their role is complete.
  • By placing such code in the Dispose method developers can ensure that the code is released once the object life completes.
  • Classes which implement IDisposable implement Dispose method and are instantiated inside a using block which calls the Dispose method once the scope is over.
namespace System
{
    //
    // Summary:
    //     Provides a mechanism for releasing unmanaged resources.
    public interface IDisposable
    {
        //
        // Summary:
        //     Performs application-defined tasks associated with freeing, releasing, or resetting
        //     unmanaged resources.
        void Dispose();
    }
}

Buy Me A Coffee

Found this article helpful? Please consider supporting!

Ram
Ram

I'm a full-stack developer and a software enthusiast who likes to play around with cloud and tech stack out of curiosity. You can connect with me on Medium, Twitter or LinkedIn.

Leave a Reply

Your email address will not be published. Required fields are marked *