सी # में, जैसा कि Documentation में उल्लिखित है, और this nice post के स्वीकृत उत्तर में, यह कहा गया है कि कक्षाएं उनके मूल वर्ग के विनाशक का वारिस नहीं करती हैं।बेस क्लास के विनाशक/निपटान का उपयोग करना?
सवाल: मैं आधार वर्ग के निजी तत्वों निपटान के लिए यह सुनिश्चित करना चाहते हैं, तो सभी बच्चे कक्षा में IDisposable लागू करने के लिए उचित तरीके से base.Dispose है, और निपटान विधि में, कॉल ()?
ऐसा करने के लिए ठीक लगता है, लेकिन मैं एक ऐसा तरीका पसंद करता था जिसके लिए सभी बाल वर्गों में कार्यान्वयन की आवश्यकता नहीं होती।
कृपया यह केवल तभी करें यदि आपके "निजी तत्व" __unmanaged__ संसाधन हैं। –
@ हेंक: बेस क्लास के "* निजी * तत्व" अप्रबंधित हैं या नहीं, एक कार्यान्वयन विस्तार है कि बाल वर्गों को वास्तव में परवाह नहीं करना चाहिए। यदि आपकी बेस क्लास 'आईडीस्पोजेबल 'लागू करती है तो इसे निपटान किया जाना चाहिए। – LukeH
इस मामले में, बेस क्लास के निजी तत्व वास्तव में अप्रबंधित संसाधन हैं, लेकिन जैसा कि ल्यूकएच ने कहा था, बाल वर्ग इस बारे में 'जागरूक' नहीं हैं। – Tipx