using keyword C# with Example
When an object implements the IDisposable interface, it can be created within the using syntax: using (var foo = new Foo()) { // do foo stuff } // when it reaches here foo.Dispose() will get called public class Foo : IDisposable { public void Dispose() { Console.WriteLine("dispose called"); } } View demo using is syntatic sugar for a try/finally block; the above usage would roughly translate into: { var foo = new Foo(); try { // do foo stuff } finally { if (foo != null) ((IDisposable)foo).Dispose(); } }