Почему нет метода Dispose в HttpWebResponse
HttpWebReponse
реализует интерфейс IDisposable
, но почему нет метода Dispose
. Он содержит только метод Close
. Будет ли шаблон using
доступен для этого класса?
Ответы
Ответ 1
HttpWebResponse явно реализует интерфейс IDisposable. Таким образом, вы можете вызвать Dispose
только тогда, когда вы передаете HttpWebResponse на IDisposable
. Метод Close
HttpWebResponse вызывает Dispose внутренне.
HttpWebResponse response = // assigned from somewhere
IDisposable disposableResponse = response as IDisposable;
disposableResponse.Dispose();
Так как HttpWebResponse
реализует IDisposable
, вы можете использовать его с помощью инструкции using.
HttpWebResponse response = // assigned from somewhere
using(response) {
// do your work;
}