Dot Net werkt inderdaad met een garbage collector, maar wachten op de finalizer vertraagt het vrijgeven van resources en geheugen. Beter is om een expliciete dispose uit te voeren, als je tenminste het object later niet opnieuw wilt gebruiken.
In C# is hier een erg mooie constructie voor, namelijk het using statement:
code:
1
2
3
| using (fclsLogin loginWindow = new fclsLogin()) {
loginWindow.ShowDialog();
} |
Het using statement zal de Dispose() in een finally clause aanroepen (altijd dus), via de interface. Ook is op deze manier de scope van je variabele beperkt, dus je kunt ook niet per ongeluk later een disposed loginWindow aanspreken. Door de beperkte scope zal de variabele ook meteen uit scope zijn, dus je hoeft ook niks op null te zetten.
PS: Het is beter om klasses volgens vaste naamsconventies te benoemen. Het gebruik van PascalCase voor klasses is gebruikelijk. Het gebruik van Hongaarse notatie (beginnen met afkortingen) is taboe. Zoek maar eens naar FxCop, een tool van Microsoft, die dit soort dingen controleert.
[
Voor 16% gewijzigd door
misfire op 20-06-2004 15:32
]