2011-11-09 8 views
12

HttpWebReponse पर कोई निपटान विधि क्यों नहीं है IDisposable इंटरफ़ेस लागू करता है, लेकिन Dispose विधि क्यों नहीं है। इसमें केवल Close विधि शामिल है। using पैटर्न इस वर्ग के लिए अभी भी उपलब्ध होगा?HttpWebResponse

+0

[HttpWebResponse] (http://msdn.microsoft.com/en-us/library/system.net.httpwebresponse.aspx) एक निपटान विधि, को यहां निर्धारित होना चाहिए: [WebResponse.Dispose विधि @ msdn] (http://msdn.microsoft.com/en-us/library/ff928381.aspx) –

+0

बीटीडब्ल्यू - शायद यह किसी बिंदु पर बदल गया। अब 'HttpWebResponse प्रतिक्रिया = ...;' प्रतिक्रिया '।(); संकलित करें। – ToolmakerSteve

उत्तर

22

HttpWebResponse implements स्पष्ट रूप से IDISposable इंटरफ़ेस। तो आप केवल Dispose पर कॉल कर सकते हैं जब आप HttpWebResponse को IDisposable पर डालते हैं। HttpWebResponse कॉल की Close विधि आंतरिक रूप से निपटान करें।

HttpWebResponse response = // assigned from somewhere 
IDisposable disposableResponse = response as IDisposable; 

disposableResponse.Dispose(); 

HttpWebResponse के बाद से लागू करता है IDisposable आप एक का उपयोग कर-बयान के साथ इसका इस्तेमाल कर सकते हैं।

HttpWebResponse response = // assigned from somewhere 

using(response) { 
    // do your work; 
} 
+0

आपका स्पष्ट अर्थ क्या है – user705414

+0

@ user705414: इस खोज को stackoverflow पर देखें http://stackoverflow.com/questions/143405/c-interfaces-implicit-and-explicit-implementation – Jehof

+0

यह स्पष्ट रूप से क्यों लागू किया गया है? – jgauffin

संबंधित मुद्दे