Mega Code Archive

 
Categories / C# / Development Class
 

System IDisposable interface and ensure fastest cleaning up as possible after an object

/* Mastering Visual C# .NET by Jason Price, Mike Gunderloy Publisher: Sybex; ISBN: 0782129110 */ /*   Example8_9.cs illustrates the use of the   the System.IDisposable interface and the using statement   to ensure fastest cleaning up as possible after an object */ using System; // declare the Car class class Car : System.IDisposable {   // declare a field   public string make;   // implement the Dispose() method   public void Dispose()   {     Console.WriteLine("In Dispose()");     // do any cleaning up here     // stop the garbage collector from cleaning up twice     GC.SuppressFinalize(this);   }   // override the Finalize() method   ~Car()   {     Console.WriteLine("In Finalize()");     // call the Dispose() method     Dispose();   } } public class Example8_9 {   public static void Main()   {     // create a Car object within the using statement     using (Car myCar = new Car())     {       // the Car object (and object reference) are only       // available within this block       myCar.make = "Toyota";       System.Console.WriteLine("myCar.make = " + myCar.make);     }     System.Console.WriteLine("At the end of Main()");   } }