我有从 IDisposable 继承的 DisposedPatterenDemo 类。我已经处理了这个类的对象,然后在它尝试调用同一个类的 Method() 之后,我从 Method 获取返回值,但 obj 已经被处理掉了。var res=obj.Method(); 没有失败?为什么它没有失败?
class Program
{
static void Main(string[] args)
{
DisposedPatterenDemo obj = new DisposedPatterenDemo();
obj.Initialize();
obj.Dispose();
var res=obj.Method(); //Here it return value
}
}
class DisposedPatterenDemo:IDisposable
{
private bool Disposed = false;
StreamReader str = null;
PaymentStub obj = new PaymentStub();
public void Initialize()
{
str = new StreamReader(@"C:\Test\abc.pdf");
}
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
public string Method()
{
var abc = "New";
return abc;
}
public void Dispose(bool disposing)
{
if (!Disposed)
{
if (disposing)
{
Console.WriteLine("Called From Dispose");
if(str!=null)
{
str.Dispose();
}
}
else
{
//Clear all the unmanaged resources here
}
Disposed = true;
}
}
}