Archief - C# destructor?

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Curahee Q

Legacy Member
Geachte 9livers

Ik ben net begonnen met C#. Heb al veel ervaring met Java en een beetje met C++. Ik weet dat het bij Java niet noodzakelijk is om een destructor in een klasse in te bouwen. Aangezien C# hard op java trekt vroeg ik mij af of dit bij C# wel moet?

Alvast bedankt

Cycloon

Legacy Member
Een destructor in C# is enkel maar aan te raden als je bepaalde streams gebruikt in een object die zeker moeten worden afgesloten als het object verdwijnt (of andere zaken die open kunnen blijven staan, zoals connecties, ...). Op andere momenten heeft het weinig zin.

Curahee Q

Legacy Member
Heel erg bedankt voor je antwoord, wordt ik weer wat wijzer van :).

MennovdH

Legacy Member
Meer nog. Het equivalent van een destructor in C# is een override van je Finalize() method. Deze gebruik je eigenlijk nooit.
Waar Cycloon naar verwijst is je Dispose method, wat een method is in de IDisposable interface, die je implement op classes waarvan je de resources expliciet wil kunnen vrijgeven. De Finalize method moet (en kan) je hier niet voor gebruiken.
Finalize, naar mijn begrip, wordt pas gebruikt als je resources buiten .NET moet vrijgeven bij je destruction, zeg, een COM interface.

Menno
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan