Ce que j'aime faire, c'est déclarer les objets sans les initialiser, mais définir leurs valeurs par défaut sur Nothing
. Puis, à la fin de la boucle, j'écris:
If anObject IsNot Nothing Then anObject.Dispose()
Voici un échantillon complet:
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
Cela fonctionne également très bien pour mettre vos objets principaux au sommet d'une routine, les utiliser dans une Try
routine, puis les disposer dans un Finally
bloc:
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; }
déclaration surSystem.IDisposable
.