это не полный пример @ 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;
}
}