FtpWebResponse implements IDisposable, but it doesn't have a Dispose method. How is that possible?
5 Answers
Its implemented in the base class WebResponse, see http://msdn.microsoft.com/en-us/library/system.net.webresponse_methods.aspx
3 Comments
It does have the Dispose method through inheritance, but it is an explicit implementation. To call it, you would have to use
((IDisposable)myObject).Dispose();
Or, of course, just wrap it in a using block, as it does the explicit call for you.
3 Comments
When you implement an interface explicitly, you won't get the method in the listing. You will have to cast that object to implemented interface to get access to that method.
public class MyClass : IDisposable
{
void IDisposable.Dispose()
{
throw new NotImplementedException();
}
}
Reference : http://msdn.microsoft.com/en-us/library/ms173157.aspx
Comments
It's implemented in the base class WebResponse
void IDisposable.Dispose()
{
try
{
this.Close();
this.OnDispose();
}
catch
{
}
}
alt text http://img227.imageshack.us/img227/2428/redgatesnetreflector.png