Принудительная сборка мусора или отражение в частном поле, что менее опасно?

У нас есть сторонняя библиотека, которая внутренне использует SafeHandle для неуправляемого ресурса. В некоторых случаях ошибки необходимо избавиться от объекта и воссоздать его. Но в реализации dispose есть ошибка, которая не позволяет закрыть дескриптор в некоторых случаях. Это предотвращает успешное создание новых объектов до тех пор, пока не запустится его финализатор.

Были предложены два решения (оба злые), чтобы справиться с этим, пока мы не сможем исправить сторонний код:

  1. Запустить GC. Есть ли какой-то другой метод, который мы не считали менее опасным, чем любой из этих?

12
задан Cody Gray 21 May 2011 в 15:00
поделиться