GC Suppress Finalize me : Garbage Collection « Development « VB.Net






GC Suppress Finalize me

GC Suppress Finalize me
  
Imports System
Imports System.Drawing
Imports System.Data
Imports System.IO
Imports System.Collections
Imports System.Windows.Forms
Imports System.Drawing.Printing

Public Class MainClass
    Shared Sub Main()
        Dim file As New MyFile("c:\FinalizeDemo.txt")

        ' now, clear the reference to the object...
        file.Dispose()
        file = Nothing

        ' wait for the user to press return...
        Console.WriteLine("Press Return to collect the garbage...")
        ' force a collect...
        GC.Collect()

        ' wait for the user to quit...
        Console.WriteLine("Press Return to quit...")

    End Sub
End Class



Public Class MyFile
    Implements IDisposable
    Private stream As FileStream
    Private isDisposed As Boolean


    Public Sub New(ByVal filename As String)
        stream = New FileStream("test.txt", FileMode.OpenOrCreate)
        Console.WriteLine("Object " & GetHashCode() & " created.")
        Console.WriteLine("Using file: " & filename)

    End Sub

    Public Sub Dispose() Implements System.IDisposable.Dispose
        If isDisposed = True Then Return
        
        stream.Close()
        stream = Nothing

        isDisposed = True

        GC.SuppressFinalize(Me)

        Console.WriteLine("Object " & GetHashCode() & " disposed.")
    End Sub

    Protected Overrides Sub Finalize()
        Dispose()
        Console.WriteLine("Object " & GetHashCode() & " finalized.")
    End Sub
End Class

           
         
    
  








Related examples in the same category

1.Object GenerationObject Generation
2.Force a garbage collectForce a garbage collect
3.Force Garbage CollectionForce Garbage Collection
4.Garbage collection startedGarbage collection started
5.Request garbage collectionRequest garbage collection
6.Get GC generation
7.GC Class
8.Determine which generation object is stored in
9.Determine the best available approximation of the number of bytes currently allocated in managed memory
10.Perform a collection of generation 0 only
11.GC.GetGeneration returns the current generation number of the target of a specified weak reference.