تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
موضوع للنقاش- الواجهة IDisposable
#1
كاتب الموضوع : samerselo


- رجاء حار أريد أن يكون هذا الموضوع للنقاش العلمي حصريا يرجى عدم طرح مشاركات شكر أريد مشاركات نقاش حول هذا الموضوع فقط

- تحدثت سابقا عن هذه الواجهة في موضوعي إدارة المصادر والواجهة IDisposable وقد قمت بإضافة فقرة في نهايته تتضمن طريقة بسيطة لمعرفة الكود المدار Managed Code من الكود الغير مدار Unmanaged Code لذا أرجو قراءة الموضوع ثانية حتى لو قرأته سابقا اقرأ المشاركة التالية بشكل خاص إضافتي الجديدة البارحة للموضوع

- المصادر المدارة هي جميع المصادر التي تتم إدارتها من قبل بيئة زمن التشغيل أي أن بيئة زمن التشغيل تضمن تدميرها في وقت ما بعد الإنتهاء من استخدامها

- يمكننا القول أن المصادر الغير مدارة هي جميع المصادر التي لا تتم إدارتها من قبل بيئة زمن التشغيل مثل مقابض الملفات و أغراض Com و مقابس الشبكة أي أن بيئة زمن التشغيل لا تضمن تدميرها

وعملية التمييز بين الكود المدار والغير مدار هامة جدا عندما نقوم بكتابة تحقيقنا للواجهة IDisposable في فئتنا حتى نعرف كيف نكتب الوظيفة Dispose بشكل جيد

نحن عندما نضيف عند تعريف الفئة السطر التالي لإضافة تحقيق IDisposable لفئتنا يتم إضافة الإجراء المحمي Dispose الذي هو موضوعنا هنا

كود :
Implements IDisposable
ويكون هيكل الإجراء Dispose الذي يضاف آليا من قبل بيئة التطوير هو

كود :
' IDisposable
Protected Overridable Sub Dispose(ByVal disposing As Boolean)
If Not Me.disposedValue Then
If disposing Then
' TODO: free other state (managed objects).
End If

' TODO: free your own state (unmanaged objects).
' TODO: set large fields to null.
End If
Me.disposedValue = True
End Sub
حيث نكتب كود تفريغ المصادر المدارة داخل حلقة If كما هو واضح من التعليقات ضمن الكود وكود المصادر الغير مدارة بعد حلقة If كما هو واضح أيضا من التعليقات ضمن الكود

ربما يرغب البعض بمناقشة هذا الموضوع بعيدا عن الدخول بموضوع المصادر المدارة والغير مدارة ولكن أثناء البحث مجددا في الموضوع وجدت أنه حتى نستطيع استخدام هذه الواجهة بالشكل الأمثل علينا فهم المصادر المدارة والغير مدارة بشكل جيد حتى نستطيع كتابة الإجراء بالشكل الأمثل

بعد هذه المقدمة سأطرح مثالين تاركا المجال للجميع للنقاش حول الموضوع كي نصل جميعا إلى الفهم الأمثل له
}}}
تم الشكر بواسطة:


الردود في هذا الموضوع
موضوع للنقاش- الواجهة IDisposable - بواسطة Raggi Tech - 05-10-12, 01:20 AM


التنقل السريع :


يقوم بقرائة الموضوع: