В дополнение к тому, что было сказано, я мог бы предложить, чтобы реализация IDisposable
явно поощряла использование блока using
, поскольку он может использоваться для любого типа, который реализует IDisposable
, и это более естественно (для большинства людей).в любом случае) написать это:
using (var response = GetResponse())
{
// do something
}
Чем это:
var response = GetResponse();
// do something
((IDisposable)response).Dispose();
Я не уверен, что это было бы намерением разработчика явно реализовать IDisposable
, но это возможно.