Hi,
I was going through dispose pattern. I implemented IDisposable inteface with few codes and tried to dispose some object.
But not sure how the dispose method gets called.
Please find my code below:
public class Program
{
static void Main(string[] args)
{
MyClass myClass = new MyClass();
myClass.TestMethod();
}
}
public class MyClass : IDisposable
{
StreamReader strReader;
private bool disposed = false;
public void TestMethod()
{
strReader = new StreamReader("TextFile1.txt");
}
#region IDisposable Members
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
protected virtual void Dispose(bool disposing)
{
if (!disposed)
{
if (disposing)
{
if (strReader != null)
{
strReader.Dispose();
}
}
disposed = true;
}
}
#endregion
}
Now here, from where to call dispose method ?
Is that correct the way I am doing?
Is it that for each object that i create, I need to dispose it this way?
Thanks.