05-10-12, 01:25 AM
كاتب المشاركة : samerselo
WeakReference.IsAlive Propertyتعيد بيانا فيما إذا كان قد تم جمع الغرض المشار إليه بواسطة غرض WeakReference الحالي من قبل جامع النفايات
التصريح
الاستخدام
تعيد قيمة من النوع System.Boolean حيث تكون القيمة True إن كان الغرض الذي يسير إليه الغرض WeakReference الحالي لم يتم جمعه و False إن تم جمعه من قبل جامع النفايات حيث يمكنك استخدام هذه الخاصية لمراقبة حالة الغرض طالما أنه يمتلك مرجعا ضعيفا
مثال
كود :
If (wr.IsAlive = False) Then
' Object is collected and
' all references terminated.
Console.WriteLine("Object collected")
aTimer.Stop()
Else
Console.WriteLine("count {0}, still alive - long weak reference: {1}", _
count.ToString(), wr.TrackResurrection.ToString)
count = (count + 1)
End Ifتعيد أو تضبط الغرض الذي يشير إليه غرض WeakReference الحالي
التصريح
الاستخدام
الخاصية من النوع System.Object تعيد القيمة nothing إذا كان الغرض المشار إليه بواسطة غرض WeakReference الحالي قد تم جمعه بواسطة جامع النفايات وإلا فسوف تعيد قيمة تمثل الغرض المشار إليه بواسطة الغرض WakReference
يصدر استثناء InvalidOperationException عندما يكون الغرض الهدف غير متوفر Inavlid حيث يمكن أن يطلق هذا الاستثناء عندما يتم ضبط قيمة هذه الخاصية إذا كان الغرض مرجعا لاشيئيا Null Reference أو أنه قد تم إنهاؤه
بعد ضبط هذه القيمة إلى الغرض الهدف تأكد من عدم وجود أية مراجع قوية باقية لذلك الغرض فإن بقيت هذه المراجع القوية فلن يكون بالإمكان جمعه وبالتالي لن تصبح قيمة الخاصية nothing
مثال
كود :
' Set the target of the
' weak reference to the object.
wr.Target = objA1
' Remove the strong reference
' the application has to the object.
objA1 = Nothing
If objA1 Is Nothing Then
Console.WriteLine("After setting objA1 to null: objA1 is null.")
End Ifتعيد بيانا فيما إذا كان الغرض المشار إليه من قبل الغرض Weakreference الحالي متتبعا بعد أن يتم إنهاؤ ه
التصريح
Public Overridable ReadOnly Property TrackResurrection As Boolean
الاستخدام
Dim instance As WeakReference
Dim value As Boolean
value = instance.TrackResurrection
وهي تعيد قيمة من النوع System.Boolean حيث تعيد القيمة True إن كان الغرض المشار إليه بواسطة الغرض WeakReference يتم تتبعه بعد إنهائه و False إن لم يتم تتبعه بعد إنهائه Dim value As Boolean
value = instance.TrackResurrection
إن كان القيمة True فهو مرجع طويل ضعيف وقد تم ضبط المحدد trackResurrection الخاص بباني الفئة إلى True
مثال
كود :
Console.WriteLine("count {0}, still alive - long weak reference: {1}", _
count.ToString(), wr.TrackResurrection.ToString)