问题描述
||
这个问题已经在这里有了答案:
解决方法
与以前的C#版本相同。推荐的模式遵循以下原则:
class MyClass : IDisposable
{
~MyClass()
{
Dispose(false);
}
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
private bool disposed = false;
protected virtual void Dispose(bool disposing)
{
if (!disposed)
{
if (disposing)
{
// Dispose managed resources
}
// Dispose unmanaged resources
disposed = true;
}
}
}
有关详细信息,请参见此MSDN页面。
,基本模式。
/// <summary>
/// Dispose Method
/// </summary>
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
/// <summary>
/// Deconstructor
/// </summary>
~[PutYourClassHere]()
{
Dispose(false);
}
/// <summary>
/// IDisposable Implementation
/// </summary>
/// <param name=\"disposing\">Disposing Flag</param>
protected virtual void Dispose(bool disposing)
{
if (disposing)
{
//Free Managed Resources
}
//Free Native Resources
}