IDisposable is a reliable, and expected destructor for your code.
It fires off immeadiately when you call it, rather than waiting for the Garbage Collector (GC) to Finalize, or (for C# users) ~myClassName().
#2 What should I put in it?
Release all of your managed objects, such as Connections, Readers, Streams, Form objects.
#3 I don’t have anything but primitives in my class, do I still need it?
Probably not, as long as you are resetting your primitives on the constructor.
However, if you put in, as your last line of code, GC.SuppressFinalize(this), then your GC will not waist time with the destructor of your object, after dispose is called. This is very important for server objects, especially web based applications.
#4 Can I write a Dispose method without using IDisposable?
Yes. However, if you are using a object broker of any kind, it will not recognise this as a disposable object, and Dispose will not get called.
Object test is “TypeOf IDisposable”.
#5 How do I use it?
public class SomeClass : IDisposable
public void SomeClass()
public void Dispose() //IDisposable.Dispose
GC.SuppressFinalize(this); //A sample of self cleanup
Any other questions can be left at the front desk. Have a nice day.