The above example implements the Dispose method like the following:
[C#]
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(true);
}
[Visual Basic]
Overloads Public Sub Dispose() Implements IDisposable.Dispose
Dispose(True)
GC.SuppressFinalize(True)
End Sub
This is incorrect; it should actually read:
[C#]
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
[Visual Basic]
Overloads Public Sub Dispose() Implements IDisposable.Dispose
Dispose(True)
GC.SuppressFinalize(Me)
End Sub