Dispose method problem

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Teeravee Sirinapasawasdee

    #1

    Dispose method problem

    Here is code from MSDN-Library April 2003 which I tried to implement to my class but there was some error that I don't know how to solve it. In Privete Overloads Sub Dispose(ByVal disposing Boolean), the code call component.Dispo se() method but the VS said that 'System.Compone ntModel.Compone nt.Protected Overrridable Sub Dispose(disposi ng As Boolean)' is not accessible in this context because it is 'Protected'. I don't know this code is from .NET Framework 1.0 and not yet update for 1.1 or not. If anyone know how can I correct this error, please let me know.

    Thank you,
    Teeravee Sirinapasawasde e

    Imports System
    Imports System.Componen tModel

    Public Class DisposeExample
    Public Class MyResource
    Implements IDisposable

    Private handle As IntPtr
    Private component As component
    Private disposed As Boolean = False

    Public Sub New(ByVal handle As IntPtr)
    Me.handle = handle
    End Sub

    Public Overloads Sub Dispose() Implements IDisposable.Dis pose
    Dispose(True)
    GC.SuppressFina lize(Me)
    End Sub

    Private Overloads Sub Dispose(ByVal disposing As Boolean)
    If Not Me.disposed Then
    If disposing Then
    component.Dispo se() <-- There was error here!
    End If
    CloseHandle(han dle)
    handle = IntPtr.Zero
    End If
    disposed = True
    End Sub

    <System.Runtime .InteropService s.DllImport("Ke rnel32")> _
    Private Shared Function CloseHandle(ByV al handle As IntPtr) As [Boolean]
    End Function

    Protected Overrides Sub Finalize()
    Dispose(False)
    MyBase.Finalize ()
    End Sub
    End Class
    End Class
Working...