Далее следует типичный пример шаблона размещения:
public bool IsDisposed { get; private set; }
#region IDisposable Members
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
protected virtual void Dispose(bool disposing)
{
if (!IsDisposed)
{
if (disposing)
{
//perform cleanup here
}
IsDisposed = true;
}
}
~MyObject()
{
Dispose(false);
}
Я понимаю, что делает dispose, но я не понимаю, почему вы хотите вызвать dispose (false) в деструкторе? Если вы посмотрите на определение, оно ничего не сделает, так зачем же писать такой код? Разве не имеет смысла просто не вызывать удаление из деструктора вообще?