Những gì tôi muốn làm là khai báo các đối tượng mà không khởi tạo chúng, nhưng đặt giá trị mặc định của chúng thành Nothing
. Sau đó, ở cuối vòng lặp, tôi viết:
If anObject IsNot Nothing Then anObject.Dispose()
Đây là một mẫu hoàn chỉnh:
Public Sub Example()
Dim inputPdf As PdfReader = Nothing, inputDoc As Document = Nothing, outputWriter As PdfWriter = Nothing
GoodExit:
If inputPdf IsNot Nothing Then inputPdf.Dispose()
If inputDoc IsNot Nothing Then inputDoc.Dispose()
If outputWriter IsNot Nothing Then outputWriter.Dispose()
End Sub
Điều này cũng hoạt động tuyệt vời để đặt các đối tượng chính của bạn lên đầu một thói quen, sử dụng chúng bên trong Try
quy trình và sau đó sắp xếp chúng trong một Finally
khối:
Private Sub Test()
Dim aForm As System.Windows.Forms.Form = Nothing
Try
Dim sName As String = aForm.Name
Catch ex As Exception
Finally
If aForm IsNot Nothing Then aForm.Dispose()
End Try
End Sub
bool IsDisposed { get; }
tuyên bố trênSystem.IDisposable
.