Если я напишу класс в С#, который реализует IDisposable, почему этого недостаточно, я просто реализую
public void Dispose(){ ... }
чтобы справиться с освобождением неуправляемых ресурсов?
Есть
protected virtual void Dispose(bool disposing){ ... }
всегда необходимо, иногда необходимо или что-то еще вообще?