2014-06-19 4 views
5

UdpClient का निपटान करने का प्रयास करते समय, मैंने पाया कि यह असंभव है। निम्नलिखित के लिए:क्या एक UdpClient का निपटान किया जाना चाहिए?

'System.Net.Sockets.UdpClient.Dispose(bool)' is inaccessible due to its protection level

इसका मतलब यह है कि मैं UdpClient से विरासत चाहिए और बेनकाब करता Dispose (यह है कि whatever implements IDisposable should be disposed of आम सहमति हो रहा है के बाद से):

UdpClient udpClient = new UdpClient(); 
udpClient.Dispose(); 

दृश्य स्टूडियो एक त्रुटि दिखाता है? क्या कोई कारण है कि हमें कक्षा का सीधे उपयोग नहीं करना चाहिए? या Close पर कॉल करने के बाद निपटने के लिए बस कुछ भी नहीं है?

हालांकि using कथन काम करता है - यह सुनते समय उपयुक्त नहीं है।

+0

यदि आप इसे प्राप्त करने वाले थे, तो construc टोर भी संरक्षित किए जाएंगे, लेकिन वे सार्वजनिक हैं। [प्रलेखन] (http://msdn.microsoft.com/en-us/library/system.net.sockets.udpclient.dispose.aspx) निश्चित रूप से भ्रामक है। – ClickRick

+0

@ClickRick धन्यवाद। – ispiro

+0

'संरक्षित आभासी शून्य UdpClient.Dispose (बूलियन)' .NET फ्रेमवर्क 2.0 जबकि पैरामीटर कम अधिभार के बाद से आसपास किया गया है 'सार्वजनिक शून्य निपटान()' 4.6 के बाद से ही उपलब्ध है। अपनी परियोजना के ढांचे <4.6 लक्षित कर रहा है ताकि आप केवल संरक्षित विधि – twj

उत्तर

7

नहीं, तुम नहीं करना चाहिए। आप UdpClient.Close बुलाना चाहिए ...


स्रोत यहाँ को देखने के बाद: http://referencesource.microsoft.com/#System/net/System/Net/Sockets/UDPClient.cs#7682e0ea2c48b5cb

ऐसा लगता है कि Close या ((IDisposable)updClient).Dispose कॉल कर सकते हैं या तो लेकिन एपीआई के लिहाज से मैं Close बुला लगता है कि जिस तरह से यूडीपी ग्राहक है का उपयोग करने के इरादे से ...

यह सब मुझे बहुत कम समझ में आता है ....

+0

देख चूंकि यह आम सहमति है कि [जो भी IDisposable लागू करता है का निपटारा किया जाना चाहिए] (http://stackoverflow.com/questions/2926869/do-you-need हो रहा है -ऑब्जेक्ट्स-एंड-सेट-टू-टू-नल) - क्या आपके पास कोई स्रोत है? – ispiro

+0

यह एपीआई .NET Framework आधारभूत संरचना का समर्थन करता है और इसका उद्देश्य सीधे आपके कोड से उपयोग करने का इरादा नहीं है। http://msdn.microsoft.com/en-us/library/bb360027.aspx –

+0

@ispiro यह मूल रूप से से नेट 1.1 –

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