جدول المحتويات:
تعريف - ماذا يعني التخلص؟
في سياق C # ، التخلص هو طريقة كائن تم استدعاؤها لتنفيذ التعليمات البرمجية المطلوبة لتنظيف الذاكرة وإطلاق الموارد غير المدارة وإعادة تعيينها ، مثل مقابض الملفات واتصالات قاعدة البيانات. يعمل التخلص على تحسين الأداء وتحسين الذاكرة عن طريق تحرير كائنات غير قابلة للإدارة وموارد شحيحة ، مثل مقابض واجهة جهاز الرسومات (GDI) المستخدمة في التطبيقات ذات مساحة Windows المحظورة.
تنفذ طريقة التخلص ، التي توفرها واجهة IDisposable ، المكالمات التخلص. تم تصميم نمط التخلص للتخلص في الوقت المناسب ويمكن التنبؤ به ، ومنع تسرب الذاكرة المؤقت والتخلص من الموارد.
يشرح Techopedia التخلص
يسهل إطار عمل .NET تجميع البيانات المهملة (GC) ، وإدارة ذاكرة الكائن وموارده واستعادة مراجع ذاكرة الكائن غير الصالحة عن طريق استدعاء وضع اللمسات الأخيرة - طريقة غير حتمية. تتحكم طريقة التخلص من عمر مثيلات ذاكرة الكائن وتوفر تحكمًا واضحًا في تنظيف الذاكرة ، مقابل تنظيف الذاكرة الضمني الخاص بـ Finalize. قد يتم استدعاء التخلص حتى في حالة وجود مثيلات كائن ذاكرة أخرى ، في حين أنه لا يمكن استدعاء الإعداد النهائي إلا بعد إتلاف كائن الذاكرة الأخير.
قواعد التخلص من الطريقة هي كما يلي:
- تستخدم للموارد غير المدارة التي تتطلب الإفراج الفوري بعد الاستخدام.
- إذا لم يتم استدعاء التخلص ، فينبغي تنفيذ طريقة الإنهاء.
- بعد استدعاء الأسلوب Dispos ، يجب استدعاء طريقة GC.SuppressFinalize لتجنب طريقة Finalize وتجنب GC غير الضرورية.
- يجب التعامل مع الاستثناءات بعناية إذا تم استدعاء طريقة التخلص أكثر من مرة. إذا تم التخلص من الموارد ، فإن أي أسلوب مثيل قد يلقي ObjectDisposedException.
- لا يمكن إعادة استخدام كائن له طريقة التخلص سابقًا.
- يوصى بالتخلص فقط من أجل إدارة كائنات الموارد الأصلية وكائنات طراز كائن المكون (COM) المكشوفة في .NET Framework.
- قد لا يتم التذرع بالتخلص بشكل متزامن من عدة مؤشرات ترابط ، وذلك بسبب نتائج غير متوقعة.
- لا ينبغي إنشاء أنواع القيم كأنواع يمكن التخلص منها أو مع أعضاء مورد غير مدار.
- عند استخدام موارد غير مُدارة ، يُعتبر من أفضل الممارسات تطبيق عبارة استخدام التعليمات البرمجية المصدر ، والتي تستدعي تلقائيًا طريقة التخلص من الكائن بعد إكمال رمز الكائن.
