.NET IDisposable पैटर्न का तात्पर्य है कि यदि आप एक अंतिम रूप से लिखते हैं, और IDis प्रयोज्य को लागू करते हैं, तो आपके अंतिम रूप से स्पष्ट रूप से प्रस्ताव का उपयोग करने की आवश्यकता है। यह तार्किक है, और मैंने हमेशा उन दुर्लभ स्थितियों में किया है जहां एक फाइनल में वारंट होता है।
हालाँकि, अगर मैं ऐसा करूँ तो क्या होगा:
class Foo : IDisposable
{
public void Dispose(){ CloseSomeHandle(); }
}
और एक अंतिम, या कुछ भी लागू नहीं करते हैं। क्या फ्रेमवर्क मेरे लिए डिस्पोज़ विधि कहेगा?
हाँ, मुझे लगता है कि यह गूंगा लगता है, और सभी तर्क यह मानते हैं कि यह नहीं होगा, लेकिन मैंने हमेशा अपने सिर के पीछे 2 चीजें की हैं जिन्होंने मुझे अनिश्चित बना दिया है।
कुछ साल पहले किसी ने एक बार मुझसे कहा था कि यह वास्तव में ऐसा करेगा, और उस व्यक्ति के पास "सामान को जानने" का बहुत ठोस ट्रैक रिकॉर्ड था।
संकलक / ढांचा आपके द्वारा लागू किए गए इंटरफेस के आधार पर अन्य 'जादू' चीजें करता है (उदाहरण के लिए: फ़ॉरचेक, एक्सटेंशन विधियां, विशेषताओं के आधार पर क्रमांकन आदि), इसलिए यह समझ में आता है कि यह 'जादू' भी हो सकता है।
जब मैंने इसके बारे में बहुत कुछ पढ़ा है, और इसमें बहुत सी चीजें निहित हैं, तो मैं कभी भी इस प्रश्न का कोई निश्चित हां या नहीं का जवाब नहीं पा सका हूं ।