यदि आपके पास मूल संसाधन हैं, तो आप निपटान और अंतिम रूप दोनों को लागू करते हैं, और दोनों एक सामान्य विधि कहते हैं जो मूल संसाधनों को जारी करती है। इन मुहावरों को आम तौर पर एक निजी डिस्पोज़ (बूल डिस्पोज़िंग) विधि के माध्यम से संयोजित किया जाता है, जो कॉल को ट्रू के साथ डिस्पोज़ करता है, और कॉल्स को असत्य के साथ अंतिम रूप देता है।
फ़ाइनलाइज़ बनाम डिस्पोज़ का उपयोग कब करें?
विधि निपटान () का उपयोग अप्रबंधित संसाधनों को मुक्त करने के लिए किया जाता है जब भी इसे लागू किया जाता है। विधि को अंतिम रूप देने () का उपयोग वस्तु के नष्ट होने से पहले अप्रबंधित संसाधनों को मुक्त करने के लिए किया जाता है। जब भी कोई नज़दीकी () विधि हो, तो डिस्पोज़ () विधि लागू की जानी चाहिए।
निपटान और अंतिम रूप देने के तरीकों में क्या अंतर है?
निपटान और अंतिम रूप देने के बीच मुख्य अंतर यह है कि कि निपटान विधि को उपयोगकर्ता द्वारा स्पष्ट रूप से लागू किया जाना है जबकि, अंतिम रूप देने की विधि कचरा संग्रहकर्ता द्वारा लागू की जाती है, ठीक पहले वस्तु नष्ट हो जाती है।
क्या कॉल के इस्तेमाल से डिस्पोजल होता है?
उपयोग कथन सुनिश्चित करता है कि निपटान कहा जाता है भले ही आप ऑब्जेक्ट पर विधियों को कॉल करते समय कोई अपवाद हो। आप ऑब्जेक्ट को एक try ब्लॉक के अंदर डालकर और फिर Dispose को अंत में ब्लॉक में कॉल करके एक ही परिणाम प्राप्त कर सकते हैं; वास्तव में, इस प्रकार उपयोग कथन का संकलक द्वारा अनुवाद किया जाता है।
क्या मुझे Dispose C को कॉल करना चाहिए?
4 उत्तर। अंगूठे का नियम: यदि कोई वर्ग IDisposable लागू करता है, तो जैसे ही आप इस संसाधन का उपयोग करना समाप्त कर लेते हैं, आपको हमेशा निपटान विधि को कॉल करना चाहिए यह सुनिश्चित करने के लिए कि निपटान विधि होगी एक अपवाद फेंके जाने पर भी कॉल किया जा सकता है: (var रीडर=conn. का उपयोग करके)