System.IDisposable interface and ensure fastest cleaning up as possible after an object : Garbage Collection : Development Class C# Source Code


Custom Search

C# Source Code » Development Class » Garbage Collection »

 

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()");

  }

}


           
       
    
   
  
   







HTML code for linking to this page:

Follow Navioo On Twitter

C# Source Code

 Navioo Development Class
» Garbage Collection