Хотя существует довольно много вопросов и ответов относительно IDisposable
, который можно найти на SO, я еще не нашел ответа на этот вопрос:
Я обычно следую практике, когда один из моих классов владеет объектом IDisposable
, тогда он также реализует IDisposable
и вызывает Dispose
для принадлежащего объекта. Однако недавно я наткнулся на класс, который явно реализовал IDisposable
, что не позволяло мне напрямую вызывать Dispose
, вынуждая меня использовать его, что я нашел раздражающим и ненужным.
Итак, вопрос: почему и когда нужно использовать явную реализацию интерфейса IDisposable
? Я знаю, что есть вполне веские и веские причины для явной реализации интерфейса, но в отношении IDisposable
причина мне не совсем ясна.