C# FtpWebResponse IDisposable是否关闭响应?

C# FtpWebResponse IDisposable是否关闭响应?,c#,idisposable,using,ftpwebresponse,C#,Idisposable,Using,Ftpwebresponse,我在程序中使用以下代码,是否仍需要调用response.close()?或者,FtpWebResponse IDisposable实现是否关闭响应 using (FtpWebResponse response = (FtpWebResponse)request.GetResponse()) { } 那么基本上,我需要这样做吗 using (FtpWebResponse response = (FtpWebResponse)request.GetResponse()) { respon

我在程序中使用以下代码,是否仍需要调用
response.close()
?或者,
FtpWebResponse IDisposable
实现是否关闭响应

using (FtpWebResponse response = (FtpWebResponse)request.GetResponse())
{

}
那么基本上,我需要这样做吗

using (FtpWebResponse response = (FtpWebResponse)request.GetResponse())
{
    response.close();
}

不,您不必调用
Close
,因为
Dispose
已经这样做了
FtpWebResponse
继承自
WebResponse
,它明确实现了
Dispose
,内部调用
Close

WebResponse.cs的代码来自:

//
void IDisposable.Dispose()无效{
尝试
{
Close();
OnDispose();
}
捕获{}
}

问问你自己,如果close方法被调用两次,我的成本会更高吗?@Izikon会吗?据我所知,如果我这样做,我的整个应用程序都会崩溃。也许你可以更具体一点,而不是问一个问题。这个问题读起来很有趣:
 /// <internalonly>
        void IDisposable.Dispose() {
            try
            {
                Close();
                OnDispose();
            }
            catch { }
        }