Bonjour,
J'ai une classe qui contient des objects disposable (style FileStream).
J'ai donc implémenté l'interface IDisposable pour cette classe. Ma méthode Dispose() appelle donc la méthode Dispose() de chaque object.
Je voulais aller plus loin en implémentant le pattern Disposable pour que, dans le cas ou l'on oublie d'appeler la méthode Dispose(), le GC appelle le Finalizer qui va effectuer le travail.
Toutefois, j'ai lu dans plusieurs articles que le Finalizer ne doit être implémenté que lorsque l'object contient directement des ressources non managées et pas seulement des objects disposable.
J'aimerai savoir si c'était vrai, et surtout pourquoi ? Si la méthode Dispose() de ma classe principale n'est jamais appelée, comment sera appelée la méthode Dispose() de chaque object ?
Merci.
AL2000
Partager