我正在爲一個類實現IDisposable,同時處置一個可丟棄對象的內部列表。我應該通過循環來處理這些對象。如何處置一次性物品清單?
public Class MyDisposable
Implements IDisposable
private _disposbaleObjects as new List(of OtherDisposables)
Public Overloads Sub Dispose() Implements System.IDisposable.Dispose
Dispose(True)
GC.SuppressFinalize(Me)
End Sub
Protected Overridable Sub Dispose(ByVal disposing As Boolean)
If Not Me.disposedValue Then
If disposing Then
? Should I dispose the the list like this ?
For Each obj In _disposbaleObjects
obj.dispose()
Next
End If
End If
Me.disposedValue = True
End Sub
End Class
「Overloads」關鍵字錯誤,請將其刪除。 VB.NET IDE爲99.9%的所有IDisposable實現生成不合適的樣板代碼。只需將配置代碼移動到Sub Dispose()並擺脫受保護的方法和SuppressFinalize即可。 – 2010-07-18 17:53:58
@Hans,你能說出你的建議的原因嗎? – Joker 2010-07-18 18:29:21
只有在實現終結器時,樣板代碼才適用。這非常罕見。 – 2010-07-18 18:44:41