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






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

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

  }

}


           
         
    
    
  








Related examples in the same category

1.If object array is still alive
2.Check the Generation for an object array
3.Estimated bytes on heap
4.MaxGeneration is zero based.
5.Get Total Memory
6.demonstrates forced garbage collection 1demonstrates forced garbage collection 1
7.Demonstrates forced garbage collectionDemonstrates forced garbage collection
8.IDisposable interface
9.Print out how many times a generation has been swept.
10.Finalizable Disposable Class with using
11.GCCollectionMode.Optimized
12.GC Class Controls garbage collector
13.GC.Collect Forces an immediate garbage collection
14.Forces a garbage collection from generation zero through a specified generation
15.Forces an immediate garbage collection of all generations.
16.Returns the current generation number of the specified object.
17.Returns the current generation number of the target of a weak reference.
18.GC.GetTotalMemory
19.Gets the maximum number of generations that the system currently supports.
20.Specifies the behavior for a forced garbage collection.
21.TestPerformance.cs