In C# the interface
IDisposable is usually used to indicate that an object needs to dispose of unmanaged resources. C# provides the
using syntax to ensure that the
Dispose method is called once the instance of the object is no longer needed.
Dispose is just like any other method though and the
using syntax can be used quite nicely for other use cases as well. Let's create a class we can use to collect some actions to be "deferred" until a later time.