У меня есть код, который выглядит так:
/// <summary>
/// Dispose of the instance
/// </summary>
public void Dispose()
{
if (_instance != null)
{
_instance = null;
// Call GC.SupressFinalize to take this object off the finalization
// queue and prevent finalization code for this object from
// executing a second time.
GC.SuppressFinalize(this);
}
}
Хотя есть комментарий, который объясняет назначение этого вызова, связанного с GC, я до сих пор не понимаю, почему он там.
Не объект, предназначенный для сбора мусора, когда все экземпляры перестают существовать (например, при использовании в блоке using())?
Какой сценарий использования, где это будет играть важную роль?
Спасибо!