Dit topic gaat over het gebruik van het using statement op idisposeable objecten in .NET
Ik probeer op ieder idisposeable object een Using statement te gebruiken, echter vraag ik me af of ik dat in de volgende situatie correct doe:
In de voorbeelden die ik op internet zie staan gaat men er vanuit dat het object binnen het Using statement wordt geinitialiseerd: Using objLabel As Label = objRow.FindControl("lblLabel")
Heeft dit invloed op het gebruik van het Using statement? Worden mijn objecten op de juiste manier gedisposed? Is het nodig om bijvoorbeeld gedeclareerde controls te disposen en zo ja, waar is het precies goed voor en wat voor effect krijg je als je dat niet doet? Is het beter om binnen een routine in bijvoorbeeld een for loop het object te hergebuiken of is het beter om het using blok binnen de for next loop te zetten, zodat hij bij iedere loop het object initialiseerd en disposed. Ik heb er nu voor gekozen om de Using statements om de hele routine te plaatsen. De objecten binnen deze routinen hebben geen referenties buiten deze routine.
Ik probeer op ieder idisposeable object een Using statement te gebruiken, echter vraag ik me af of ik dat in de volgende situatie correct doe:
Visual Basic .NET:
1
2
3
4
5
6
7
8
| Dim objLabel as Label = Nothing Using objLabel For Each objRow as DataGridViewRow In grdGridView objLabel = objRow.FindControl("lblLabel") objLabel.Text &= "Voeg iets toe" Next End Using |
In de voorbeelden die ik op internet zie staan gaat men er vanuit dat het object binnen het Using statement wordt geinitialiseerd: Using objLabel As Label = objRow.FindControl("lblLabel")
Heeft dit invloed op het gebruik van het Using statement? Worden mijn objecten op de juiste manier gedisposed? Is het nodig om bijvoorbeeld gedeclareerde controls te disposen en zo ja, waar is het precies goed voor en wat voor effect krijg je als je dat niet doet? Is het beter om binnen een routine in bijvoorbeeld een for loop het object te hergebuiken of is het beter om het using blok binnen de for next loop te zetten, zodat hij bij iedere loop het object initialiseerd en disposed. Ik heb er nu voor gekozen om de Using statements om de hele routine te plaatsen. De objecten binnen deze routinen hebben geen referenties buiten deze routine.