As jy inheemse hulpbronne het, implementeer jy beide Wegdoen en Finaliseer, en albei noem 'n algemene metode wat die inheemse hulpbronne vrystel. Hierdie idiome word tipies gekombineer deur 'n private Dispose (bool disposing) metode, wat Dispose calls with true, en Finaliseer oproepe met false.
Wanneer om finaliseer te gebruik teenoor wegdoen?
Method dispose() word gebruik om onbestuurde hulpbronne te bevry wanneer dit ook al opgeroep word. Metode finalize() word gebruik om onbestuurde hulpbronne te bevry voordat die voorwerp vernietig word. Die metode dispose() moet geïmplementeer word wanneer daar 'n close() metode is.
Wat is die verskil tussen die Wegdoen- en Finaliseer-metodes?
Die hoofverskil tussen wegdoen en finaliseer is dat die weggooimetode eksplisiet deur die gebruiker aangeroep moet word, terwyl die afrondingsmetode deur die vullisverwyderaar aangeroep word, net voor die voorwerp is vernietig.
Gebruik oproep wegdoen?
Die gebruikstelling verseker dat Dispose genoem word, selfs al vind 'n uitsondering plaas terwyl jy metodes op die voorwerp aanroep. Jy kan dieselfde resultaat bereik deur die voorwerp binne 'n probeerblok te plaas en dan Dispose in a finally block te roep; trouens, dit is hoe die gebruik-stelling deur die samesteller vertaal word.
Moet ek Dispose C bel?
4 Antwoorde. Duimreël: as 'n klas IDisposable implementeer, moet jy altyd die Dispose-metode skakel sodra jy klaar is met die gebruik van hierdie hulpbron Selfs beter om dit in 'n gebruiksverklaring toe te draai om te verseker dat die Dispose-metode sal genoem word, selfs al word 'n uitsondering gegooi: met behulp van (var reader=conn.