.NET IDisposable প্যাটার্নটি বোঝায় যে আপনি যদি একটি চূড়ান্ত লেখক লিখেন এবং IDisposable প্রয়োগ করেন তবে আপনার চূড়ান্তকরণকারীকে স্পষ্টতই ডিসপোজ কল করতে হবে। এটি যৌক্তিক, এবং আমি সর্বদা বিরল পরিস্থিতিতে যেখানে ফাইনালাইজারকে সতর্ক করা হয় তা করতে পেরেছি।
তবে, আমি কেবল এটি করলে কী হয়:
class Foo : IDisposable
{
public void Dispose(){ CloseSomeHandle(); }
}
এবং একটি চূড়ান্তকরণকারী, বা কিছুই বাস্তবায়ন করবেন না। ফ্রেমওয়ার্কটি কি আমার জন্য ডিসপোজ পদ্ধতি কল করবে?
হ্যাঁ আমি বুঝতে পারি যে এই শব্দটি বোবা লাগছে, এবং সমস্ত যুক্তি থেকেই বোঝা যাচ্ছে যে এটি হবে না, তবে আমার মাথার পিছনে সবসময় আমার 2 টি জিনিস ছিল যা আমাকে নিশ্চিত করে না।
কয়েক বছর আগে কেউ একবার আমাকে বলেছিল যে এটি আসলে এটি করবে এবং সেই ব্যক্তির "তাদের জিনিসগুলি জানার" একটি খুব দৃ track় ট্র্যাক রেকর্ড রয়েছে।
সংকলক / কাঠামোটি অন্যান্য 'ম্যাজিক' জিনিসগুলি নির্ভর করে আপনি কী ইন্টারফেস প্রয়োগ করেন তার উপর নির্ভর করে (যেমন: ফোরচ, এক্সটেনশন পদ্ধতি, বৈশিষ্ট্যের উপর ভিত্তি করে সিরিয়ালাইজেশন ইত্যাদি), সুতরাং এটি বোঝা যায় যে এটি 'ম্যাজিক'ও হতে পারে।
যদিও আমি এটি সম্পর্কে প্রচুর স্টাফ পড়েছি এবং প্রচুর পরিমাণে লিখিত হয়েছে, আমি কখনই এই প্রশ্নের কোনও নির্দিষ্ট হ্যাঁ বা উত্তর খুঁজে পাইনি ।