IDisposable
From eqqon
interface IDisposable
Objects that implement IDisposable can be used in the using statement. After the block ends, the object's Dispose-method is guaranteed to be called. Note: The object's destructor is not guaranteed to be called immediately.
Example
using System; public class Resource : IDisposable { public void Dispose() { Console.WriteLine("Disposed"); } ~Resource() { Console.WriteLine("~Resource"); } } public class Program { public static void Main() { using( Resource h = new Resource()) { Console.WriteLine("Inside using block"); } Console.WriteLine("After using block"); } }
- Program output
Inside using block Disposed After using block ~Resource