22
janvier
2010
[VB.NET] Implémenter la méthode Dispose dans une classe
janvier
2010
Un article de le_phasme
3 Commentaires
La libération mémoire d’une classe lors de sa destruction peut être rendue quasi immédiate en implémentant une méthode dispose à cette classe.
Pour cette exemple, nous allons implémenter cette méthode dans une classe nommé ClsDossierRequest
Public Class ClsDossierRequest
Implements IDisposable
'Propriétés exemples
Private oDossierSearchRequest As Object
Private OLstElem as generic.list(of String)
Sub Dispose() Implements System.IDisposable.Dispose
oDossierSearchRequest=nothing
OlstElem.clear
End Sub
End Class
Implements IDisposable
'Propriétés exemples
Private oDossierSearchRequest As Object
Private OLstElem as generic.list(of String)
Sub Dispose() Implements System.IDisposable.Dispose
oDossierSearchRequest=nothing
OlstElem.clear
End Sub
End Class
Et voila comment libérer plus rapidement la mémoire de votre application :
Public Class MaClasseParente
Private oMonDossierRequest as clsDossierRequest
Sub New
'On construit l'objet
oMonDossierRequest =new clsdossierrequest
'On libere l'objet
oMonDossierRequest.dispose
End sub
end Class
Private oMonDossierRequest as clsDossierRequest
Sub New
'On construit l'objet
oMonDossierRequest =new clsdossierrequest
'On libere l'objet
oMonDossierRequest.dispose
End sub
end Class
@ Vincent Lainé,
Quand on se permet de faire des remarques sur la présentation d’un billet, on fait attention à ne pas faire quatre fautes d’orthographe dans deux phrases et, si on met des s quand il n’en faut pas ou qu’on n’en met pas quand il en faut, alors on utilise un correcteur orthographique.
Désolé mais les donneurs de leçons se doivent de montrer le bon exemple. ;))
Malgré le coté très encourageant de ton commentaire (lol; c’est mon premier billet ), je te remercie car ca me montre que j’ai encore beaucoup à apprendre
Plus serieusement, je cherche juste à travers ce blog à répertorier toutes les optimisations les plus courantes à apporter aux développements. Je ne cherche pas à devenir pour le moment MVP Microsoft
L’échange de ce blog va être intéressant je pense aux travers des commentaires !
Sinon, merci pour ces liens, que je vais m’empresser de consulter @ bientôt j’espère !
C’est dingue comment certains sujets reviennent en permanence.
L’utilisation de dispose comme tu le montre est assez basique. Les recommandations de MS au niveau du pattern Dispose sont un peu plus complexe car elles prennent en compte le multi-thread (A lire ici : http://msdn.microsoft.com/en-us/library/b1yfkh5e%28VS.71%29.aspx et la : http://msdn.microsoft.com/en-us/library/system.idisposable.dispose.aspx ).
Et puis juste parce que je suis tatillons sur le code, quand on publie un billet dans une catégorie « Optimisation & Clarté de Code », on a au moins le soucis de mettre les parenthèses qui vont bien dans l’exemple (et je ne parle pas des majuscules/minuscules ).