تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
موضوع للنقاش- الفئة WeakReference
#7
كاتب المشاركة : samerselo

WeakReference.IsAlive Property

تعيد بيانا فيما إذا كان قد تم جمع الغرض المشار إليه بواسطة غرض WeakReference الحالي من قبل جامع النفايات

التصريح

Public Overridable ReadOnly Property IsAlive As Boolean

الاستخدام

Dim instance As WeakReference
Dim value As Boolean

value = instance.IsAlive

تعيد قيمة من النوع 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. Target Property
تعيد أو تضبط الغرض الذي يشير إليه غرض WeakReference الحالي

التصريح

Public Overridable Property Target As Object

الاستخدام

Dim instance As WeakReference
Dim value As Object

value = instance.Target

instance.Target = value

الخاصية من النوع 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. TrackResurrection Property
تعيد بيانا فيما إذا كان الغرض المشار إليه من قبل الغرض Weakreference الحالي متتبعا بعد أن يتم إنهاؤ ه
التصريح

Public Overridable ReadOnly Property TrackResurrection As Boolean

الاستخدام

Dim instance As WeakReference
Dim value As Boolean

value = instance.TrackResurrection
وهي تعيد قيمة من النوع System.Boolean حيث تعيد القيمة True إن كان الغرض المشار إليه بواسطة الغرض WeakReference يتم تتبعه بعد إنهائه و False إن لم يتم تتبعه بعد إنهائه
إن كان القيمة True فهو مرجع طويل ضعيف وقد تم ضبط المحدد trackResurrection الخاص بباني الفئة إلى True

مثال


كود :
Console.WriteLine("count {0}, still alive - long weak reference: {1}", _
count.ToString(), wr.TrackResurrection.ToString)
}}}
تم الشكر بواسطة:


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


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


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