Bonjour,
Je sais que le sujet a été abordé plusieurs fois sur ce forum, mais j'ai toujours du mal avec ca ...
Comment peut-on savoir si une ressource est managée ou pas ?
Par exemple, est ce que OdbcConnection est une ressource managée ?
Je travaille sur le destructeur de ma classe et j'ai donc implémenté l'interface IDisposable. Mais voilà ce qu'ils mettent dans l'aide :
Supposons que ma classe possède deux attributs, un de type ODBCConnection et l'autre de type DataSet.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Public Class Base Implements IDisposable ' Implement IDisposable. Public Overloads Sub Dispose() Implements IDisposable.Dispose Dispose(True) GC.SuppressFinalize(Me) End Sub Protected Overridable Overloads Sub Dispose(ByVal disposing As Boolean) If disposing Then ' Free other state (managed objects). End If ' Free your own state (unmanaged objects). ' Set large fields to null. End Sub Protected Overrides Sub Finalize() ' Simply call Dispose(False). Dispose(False) End Sub End Class
Où dois-je mettre l'appel de la méthode Dispose() de chacun des éléments ? Dans unmanaged ou managed object ?
Merci pour votre aide car, pour moi, c'est vraiment pas clair.
Partager