Подтвердить что ты не робот

Почему нет метода Dispose в HttpWebResponse

HttpWebReponse реализует интерфейс IDisposable, но почему нет метода Dispose. Он содержит только метод Close. Будет ли шаблон using доступен для этого класса?

4b9b3361

Ответ 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;
}