Vai zvana pabeigšana tiek likvidēta?

Satura rādītājs:

Vai zvana pabeigšana tiek likvidēta?
Vai zvana pabeigšana tiek likvidēta?

Video: Vai zvana pabeigšana tiek likvidēta?

Video: Vai zvana pabeigšana tiek likvidēta?
Video: Израиль | Прогулки по Иерусалиму 2024, Novembris
Anonim

Ja jums ir vietējie resursi, jūs ieviešat gan likvidēšanu, gan pabeigšanu, un abas izsauc kopējo metodi, kas atbrīvo vietējos resursus. Šīs idiomas parasti tiek apvienotas, izmantojot privāto Dispose (bool disposing) metodi, kurā izsaukumiem tiek izmantota vērtība True, bet izsaukumiem pabeigta ar false.

Kad izmantot pabeigšanu un likvidēšanu?

Metode dispose() tiek izmantota, lai atbrīvotu nepārvaldītus resursus ikreiz, kad tā tiek izsaukta. Metode finalize() tiek izmantota, lai atbrīvotu nepārvaldītus resursus pirms objekta iznīcināšanas. Metode dispose() ir jāievieš ikreiz, kad ir slēgta() metode.

Kāda ir atšķirība starp likvidēšanas un pabeigšanas metodēm?

Galvenā atšķirība starp iznīcināšanu un pabeigšanu ir ka iznīcināšanas metode ir skaidri jāizsauc lietotājam, turpretim atkritumu savācējs izsauc pabeigšanas metodi tieši pirms objekts ir iznīcināts.

Vai, izmantojot zvanu Atmest?

Paziņojums using nodrošina, ka Dispose tiek izsaukts, pat ja notiek izņēmums, izsaucot objekta metodes. To pašu rezultātu var sasniegt, ievietojot objektu izmēģinājuma blokā un pēc tam izsaucot Dispose galīgajā blokā; patiesībā kompilators tulko lietošanas paziņojumu.

Vai man vajadzētu izsaukt Dispose C?

4 Atbildes. Īkšķis: ja klase ievieš IDisposable, vienmēr ir jāizsauc Metode Disposable, tiklīdz esat pabeidzis izmantot šo resursu Vēl labāk ietiniet to izmantošanas priekšrakstā, lai nodrošinātu, ka metode Disposable izsaukt pat tad, ja tiek izmests izņēmums: using (var reader=conn.

Ieteicams: