это не полный пример @ MSDN: MSDN показывает только реализацию базового класса, а не пример базового класса / производного класса.

ользую шаблон реализации по умолчанию (шаблон) для моего кода.

фрагмент кода:

public void Dispose()
{
    Dispose(true);

    GC.SuppressFinalize(this);
}

protected virtual void Dispose(bool isDisposing)
{
    if (!this.disposed)
    {
        if (isDisposing)
        {
            //cleanup managed resources
        }

        //cleanup unmanaged resources

        this.disposed = true;
    }
}

Мой вопрос: почему в методе Dispose public вызывается GC.SuppressFinalize (this)? Я бы поместил «GC.SuppressFinalize (this)» в раздел «if (isDisposing)» защищенного метода после удаления управляемых ресурсов.

Нравится:

protected virtual void Dispose(bool isDisposing)
{
    if (!this.disposed)
    {
       if (isDisposing)
       {
           //cleanup managed resources

           GC.SuppressFinalize(this);
       }

       //cleanup unmanaged resources

       this.disposed = true;
    }
}

Ответы на вопрос(1)

Ваш ответ на вопрос