public class MyResourceHog : IDisposable
{
//是否已经Disposed的标记
private bool alreadyDisposed = false;
public void IDisposable.Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
public virtual void Dispose(bool isDisposing)
{
if (alreadyDisposed)
{
return;
}
if (isDisposing)
{
Console.WriteLine("释放资源成功!");
}
alreadyDisposed = true;
}
public void ExampleMethod()
{
if (alreadyDisposed)
{
throw new ObjectDisposedException("MyResourceHog", "Called Example on Disposed object");
}
}
}
{
//是否已经Disposed的标记
private bool alreadyDisposed = false;
public void IDisposable.Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
public virtual void Dispose(bool isDisposing)
{
if (alreadyDisposed)
{
return;
}
if (isDisposing)
{
Console.WriteLine("释放资源成功!");
}
alreadyDisposed = true;
}
public void ExampleMethod()
{
if (alreadyDisposed)
{
throw new ObjectDisposedException("MyResourceHog", "Called Example on Disposed object");
}
}
}