سؤال

إذا قمت بتطبيق كائن باستخدام idisposable ، فهل يجب على جميع الكائنات التي تمتلك هذا الكائن تنفيذها أيضًا ، حتى لو لم يكن لديهم موارد أخرى لإصدارها؟

هل كانت مفيدة؟

المحلول

نعم. تحتاج إلى التخلص منها ، من أجل الحصول على متغيرات العضو الخاصة بك بشكل صحيح.

في أي وقت تقوم فيه بتغليف فئة قابلة للتطبيق ، يجب أن تجعل الفصل الخاص بك قابلاً للتطبيق. في طريقة التصرف الخاصة بك ، يجب عليك التخلص من مواردك المغلفة. في الأساس ، تعاملهم بنفس الطريقة التي تعامل بها مورد أصلي.

نصائح أخرى

إذا كنت تريد التخلص الحتمي ، في النهاية يحتاج بعض العميل إلى استدعاء أو لف المكالمات في كتلة "استخدام". للتخلي عن كائنك ، قد يتطلب ذلك أن يقوم المالك بتطبيق Idisposable أيضًا.

يجب ألا تعتمد على جامع القمامة لتحرير أي موارد تعتمد على الوقت.

نعم ، يجب أن تنفذ فئة مملوكة قابلة للتطبيق ولكن لا تحتاج (لا ينبغي أن يكون لها) نماذج نهائية (Destructor).

NOP ، يحتاجون فقط إلى استخدام هذه الفئة ببيان "استخدام" للتأكد

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top