05-10-12, 01:23 AM
كاتب المشاركة : Islam Ibrahim
باستخدام الفئة WeakReference يمكننا بسهولة معرفة حالة الكائن المرتبط بها إن كان لازال متواجدا في الذاكرة أو قامت GC بجمعه والمثال التالي يوضح كيفية استخدام الخاصية IsAlive والتي تعيد قيمة من النوع Boolean , ولنفترض أننا قمنا بكتابة الفئة Book مسبقاًكود :
Dim MyBook As New Book("My New Book","MyName")
Dim WR As New WeakReference(MyBook)
MyBook = Nothing
If WR.IsAlive Then
Console.WriteLine("My Book Is Alive")
Dim Book2 As Book = DirectCast(WK.Target, Book)
Console.WriteLine(Book2.Title)
Book2 = Nothing
Else
Console.WriteLine("My Book Is Dead")
End If
GC.Collect()
If WR.IsAlive then
Console.WriteLine("My Book Is alive")
Else
Console.WriteLine("My Book Is Dead")
End Ifكود :
Book is alive
My New book
Book is dead