The Microsoft.NET framework provides the IDisposable interface which requires an implementation of void Dispose() method. Its purpose is to enable
IDisposable
void Dispose()
From MSDN:
Allow a Dispose method to be called more than once without throwing an exception. The method should do nothing after the first call.