جدول المحتويات:
التعريف - ماذا تعني الصيغة النهائية؟
اللمسات الأخيرة هي طريقة كائن تحتوي على الكود المطلوب لتحرير الموارد غير المدارة وتنفيذ عمليات التنظيف قبل تجميع البيانات المهملة (GC).
يتم استخدام طريقة النهاية لتنظيف الموارد التي لا يديرها .NET. على الرغم من أن .NET Framework قد تم تصميمه لإطلاق الموارد المدارة من خلال تنفيذ مهام إدارة الذاكرة بشكل ضمني ، إلا أنه يجب تحرير موارد التطبيق غير المُدارة - مثل مقابض الملفات واتصالات قواعد البيانات - بشكل صريح.
تيكوبيديا تشرح اللمسات الأخيرة
بينما تم تصميم finalize ليتم استدعاؤه ضمنيًا بواسطة GC ، فقد يتم استدعاء طريقة التخلص بشكل صريح بواسطة رمز المستخدم لتحرير الموارد.
وضع اللمسات الأخيرة مشابه لمدمرات C ++ التقليدية ، حيث أن كل واحد مسؤول عن تحرير موارد الكائنات. يتم تنفيذ أدوات تدمير C ++ فورًا عندما يخرج كائن عن نطاقه ، بينما يتم استدعاء finalize أثناء تنظيف الكائن في GC. في C # ، لا يمكن استدعاء finalize أو تجاوزه مباشرة. إذا تم التصريح عن إتلاف ، يتم تحويله إلى طريقة الإتمام عند تجميع البرنامج.
أثناء وضع اللمسات الأخيرة ، يجب تجنب تخصيص الذاكرة أو استدعاء الأساليب الافتراضية. يجب حماية نطاق وضع اللمسات الأخيرة بحيث يتم الوصول إليه فقط داخل نفس الفئة أو الفئة المشتقة منه. وضع اللمسات الأخيرة يجب أن لا تشير إلى أي كائنات أخرى. في C # ، إنهاء الاتصال مباشرة على كائن آخر بخلاف الفئة الأساسية هي عملية غير صالحة. يجب أن يكون رمز الإنهاء في الحد الأدنى دون أي مكالمات قادرة على حظر سلسلة الاتصال. كما يتم استدعاء وضع اللمسات الأخيرة بواسطة مؤشر ترابط مخصص ، يجب ألا يستخدم الرمز الخاص به التخزين المحلي لمؤشر الترابط أو أي تقنية تتطلب تقارب مؤشر الترابط.
يعد استخدام اللمسات الأخيرة كآلية احتياطية لإطلاق ذاكرة أو موارد غير مُدارة أمرًا ضروريًا ، نظرًا لعدم وجود الحتمية والتأثيرات على أداء GC.