यदि मैं आईडीस्पोजेबल के साथ किसी ऑब्जेक्ट को कार्यान्वित करता हूं, तो उस ऑब्जेक्ट के स्वामित्व वाली सभी ऑब्जेक्ट्स को भी लागू करना चाहिए, भले ही उनके पास रिलीज़ करने के लिए कोई अन्य संसाधन न हो?आईडीस्पोजेबल चेन
उत्तर
हां। अपने सदस्य चर को सही तरीके से निपटाने के लिए, आपको उनका निपटान करने की आवश्यकता है।
जब भी आप एक आईडीस्पोजेबल क्लास को समाहित करते हैं, तो आपको अपनी कक्षा को पहचानने योग्य बनाना चाहिए। अपनी निपटान विधि में, आपको अपने encapsulated संसाधनों का निपटान करना चाहिए। असल में, उन तरीकों से उनका इलाज करें जैसे आप मूल संसाधन का इलाज करेंगे।
यदि आप निर्धारिक निपटान चाहते हैं, तो आखिरकार कुछ क्लाइंट को "उपयोग" ब्लॉक में कॉल को निपटाने या लपेटने की आवश्यकता होती है। अपनी ऑब्जेक्ट पर ट्राइकल करने के लिए, उसमें मालिक की पहचान करने की आवश्यकता हो सकती है।
आपको किसी भी समय-निर्भर संसाधनों को मुक्त करने के लिए कचरा कलेक्टर पर भरोसा नहीं करना चाहिए।
यह वास्तव में एक अप्रबंधित संसाधन समस्या नहीं है। ऑब्जेक्ट्स जो अप्रबंधित संसाधन का मालिक होगा 1) 'सेफहैंडल या 2) का उपयोग करें, अप्रबंधित संसाधनों को जारी करने के लिए उपयोगकर्ता द्वारा परिभाषित अंतिमकर्ता का उपयोग करें। हालांकि यह गैर-निर्धारक है, कचरा कलेक्टर * अनधिकृत संसाधनों को ठीक से जारी करने में सक्षम है। उचित 'आईडीस्पोजेबल' चेन का प्राथमिक लाभ समय पर "बंद", "अंत" या "रिलीज" मुद्दों के प्रति संवेदनशील है, जैसे (लेकिन निश्चित रूप से सीमित नहीं) I/O। –
नोट किया गया। धन्यवाद। –
हां, एक स्वामित्व वर्ग को IDISposable लागू करना चाहिए, लेकिन इसे एक अंतिम (विनाशक) नहीं होना चाहिए (नहीं होना चाहिए)।
nop, वे सिर्फ एक "का उपयोग" बयान के साथ उस वर्ग का उपयोग सुनिश्चित करें कि वे उस वस्तु को ठीक से निपटाने बनाने की जरूरत है, लेकिन उन वस्तुओं खुद को
यदि कोई अन्य श्रेणी एक डिस्पोजेबल ऑब्जेक्ट का मालिक है, तो उसे IDISposable भी लागू करना चाहिए। अन्यथा, मालिक वर्ग के पास कॉलर्स को इसका निपटान करने की अनुमति देने का कोई तरीका नहीं है, और इसके परिणामस्वरूप, डिस्पोजेबल संसाधनों का आंतरिक रूप से स्वामित्व है। –
यह इस बात पर निर्भर करता है कि कक्षा आंतरिक रूप से – BlackTigerX
ऑब्जेक्ट का उपयोग कैसे करती है, मैं विशेष रूप से "निर्दिष्ट प्रकार का सदस्य चर" का अर्थ "स्वयं" शब्द का उपयोग करता हूं, इसलिए यह काम नहीं करता है। मैं जो काम कर रहा हूं उसके लिए मैं "उपयोग" का उपयोग करता हूं। –
- 1. जावा में आईडीस्पोजेबल रूपक?
- 2. आईडीस्पोजेबल कार्यान्वयन - 'अगर (निपटान)'
- 3. चेन वादे
- 4. चेन आदेशों
- 5. सी # उपयोग आईडीस्पोजेबल या सेफहैंडल?
- 6. मॉडल सेग्यू चेन
- 7. जेस्चर और रिस्पॉन्डर चेन
- 8. मार्कोव चेन टेक्स्ट जनरेशन
- 9. पासिंग IDisposable निर्माता चेन
- 10. , विधि चेन setters
- 11. CSS3 चेन एनिमेशन
- 12. चेन Backbone.js संग्रह विधि
- 13. (हाडोप) मैपरेडस - चेन जॉब्स - जॉबकंट्रोल
- 14. संयोजन/चेन एकाधिक jQuery ऑब्जेक्ट
- 15. 404 उठाएँ और URL चेन
- 16. लंबे jQuery चेन खराब हैं?
- 17. क्रॉस प्लेटफ़ॉर्म सी ++ टूल चेन
- 18. django चेन का चयन करें
- 19. मुझे अपने आईडीस्पोजेबल क्लास के अंदर एक निजी सदस्य आईडीस्पोजेबल के साथ सीए 2000 क्यों मिल रहा है?
- 20. प्रोग्रामेटिक चेन ऑर्डरबी/फिर LINQ/Entity Framework
- 21. मार्कोव चेन आउटपुट से पैराग्राफ कैसे बनाएं?
- 22. डब्ल्यूसीएफ सर्टिफिकेट चेन, प्रोग्रामेटिक रूप से
- 23. उप-वर्ग पर आईडीस्पोजेबल लागू करना जब माता-पिता IDISposable
- 24. आप आईडीस्पोजेबल और आईओसी को कैसे मेल खाते हैं?
- 25. मैं आईफोन UIImageView के साथ चेन स्केल एनिमेशन कैसे करूं?
- 26. प्रोटोटाइप का उपयोग किए बिना चेन फ़ंक्शन कैसे करें?
- 27. क्या underscore.js में चेन फ़ंक्शन एक मोनड बनाता है?
- 28. इंद्रधनुष तालिकाओं में चेन कैसे काम करते हैं?
- 29. ग्राफ़ # का उपयोग करके डब्ल्यूपीएफ में ग्राफ को चेन
- 30. ड्राइवर विफल विफलता क्योंकि क्रॉस साइनिंग चेन में माइक्रोसॉफ्ट
केवल आप कल्पना नहीं कर सकते IDisplosable को लागू करने की जरूरत नहीं है, जिसमें जीसी फाइनेंजर थ्रेड द्वारा प्रेरित अगर वस्तुओं का निपटारा किया जाता है। –
सच है - लेकिन मुझे यकीन नहीं है कि यह कैसे प्रासंगिक है। यदि आप अपनी कक्षा को लपेटते हैं और इसे डिस्पोजेबल बनाते हैं, तो आप उस क्रम को नियंत्रित कर सकते हैं जिसमें प्रत्येक encapsulated संसाधन का निपटारा किया जाता है। –