我做了一些搜索,令人惊讶的是找不到答案.我究竟做错了什么?显然我遗漏了一些基本的东西.如何编写代码来克服这个问题?
我的VB代码:
Public Class Bar Implements IDisposable Private Foo As SomeDisposableThing Public Sub New() Foo = New SomeDisposableThing() With {.name = "hello"} End Sub '''' snip '''' Private disposedValue As Boolean = False ' To detect redundant calls ' Protected Overridable Sub Dispose(ByVal disposing As Boolean) If Not Me.disposedValue Then If disposing Then If Foo IsNot Nothing Then Foo.Dispose() End If End If Me.disposedValue = True End Sub Public Sub Dispose() Implements IDisposable.Dispose Dispose(True) GC.SuppressFinalize(Me) End Sub End Class