একটি চূড়ান্তকরণকারী (ওরফে ডেস্ট্রাক্টর) আবর্জনা সংগ্রহের (জিসি) অংশ - এটি যখন ঘটে তখনই (বা এমনকি যদি হয়) এটি অনির্দিষ্ট হয়, কারণ জিসি সাধারণত মেমরির চাপের ফলে ঘটে (যেমন আরও জায়গার প্রয়োজন হয়)। ফাইনালাইজারগুলি সাধারণত পরিচালনা না করা সম্পদ পরিষ্কার করার জন্য ব্যবহৃত হয় , যেহেতু পরিচালিত সংস্থাগুলির নিজস্ব সংগ্রহ / নিষ্পত্তি হবে।
অতএব IDisposable
, নির্ধারিতভাবে অবজেক্টগুলি পরিষ্কার করার জন্য ব্যবহৃত হয় , এখন এখন। এটি বস্তুর স্মৃতি সংগ্রহ করে না (এটি এখনও জিসির অন্তর্গত) - তবে ফাইল, ডাটাবেস সংযোগ ইত্যাদি বন্ধ করার জন্য ব্যবহৃত হয়
এর উপর পূর্ববর্তী প্রচুর বিষয় রয়েছে:
পরিশেষে, দ্রষ্টব্য যে কোনও জিনিসের IDisposable
চূড়ান্তকরণ করাও অস্বাভাবিক নয় ; এক্ষেত্রে , Dispose()
সাধারণত কল হয় GC.SuppressFinalize(this)
, অর্থাত্ জিসি চূড়ান্তকরণকারী চালায় না - এটি কেবল স্মৃতিটিকে দূরে ফেলে দেয় (অনেক সস্তা)। আপনি যদি বিষয়টিকে ভুলে যান তবে ফাইনালাইজারটি এখনও চলে Dispose()
।
using
কনস্ট্রাক্ট ব্যবহার করে এটি করতে পারেন ।