为什么HttpWebResponse上没有Dispose方法

时间:2011-11-09 10:17:55

标签: c# .net idisposable using-statement

HttpWebReponse实现了IDisposable接口,但为什么没有Dispose方法。它只包含Close方法。这个类仍然可以使用using模式吗?

1 个答案:

答案 0 :(得分:24)

HttpWebResponse implements明确表示IDisposable接口。因此,只有在将HttpWebResponse转换为Dispose时才能调用IDisposable。 HttpWebResponse的Close方法在内部调用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;
}