Я запутался в этом паттерне.
Если утилизация имеет значение true (вызывается из Dispose ()), мы освобождаем управляемые объекты там.
Если утилизация имеет значение false (вызывается из Finalizer ()), доступ к ссылочному объекту небезопасен, эти ссылочные объекты являются неуправляемыми объектами, такими как файловый поток.
Если уничтожение верно, то мы не сможем освободить неуправляемые объекты?
Если удаление является ложным, мы не сможем освободить управляемые объекты?
При поиске этого шаблона в методе Dispose (boolean) реализована другая реализация. Реализация MSDN
А этот я получил из примеров и уроков.
protected virtual void Dispose(bool disposing)
{
if (!disposed)
{
if (disposing)
{
// Free any other managed objects here.
}
else
{
//not safe to access referenced object
}
// Free any unmanaged objects here.
}
disposed = true;
}