Logo da.boatexistence.com

Bliver afsluttet opkald bortskaffet?

Indholdsfortegnelse:

Bliver afsluttet opkald bortskaffet?
Bliver afsluttet opkald bortskaffet?

Video: Bliver afsluttet opkald bortskaffet?

Video: Bliver afsluttet opkald bortskaffet?
Video: Гэри Леон Риджуэй | "Убийца с Грин-Ривер" | Убита 71 женщи... 2024, Juli
Anonim

Hvis du har native ressourcer, implementerer du både Dispose og Finalize, og begge kalder en fælles metode, der frigiver de native ressourcer. Disse idiomer kombineres typisk gennem en privat Dispose(bool disposing)-metode, som Dispose calls with true, and finalize calls with false.

Hvornår skal du bruge finalize vs dispose?

Method dispose() bruges til at frigøre ikke-administrerede ressourcer, når den påkaldes. Metoden finalize() bruges til at frigøre unmanaged ressourcer, før objektet ødelægges. Metoden dispose() skal implementeres, når der er en close()-metode.

Hvad er forskellen mellem bortskaffelses- og færdiggørelsesmetoderne?

Den største forskel mellem bortskaffelse og færdiggørelse er at bortskaffelsesmetoden eksplicit skal påberåbes af brugeren, hvorimod færdiggørelsesmetoden påkaldes af skraldeopsamleren, lige før objekt er ødelagt.

Bruger opkald bortskaffes?

using-sætningen sikrer, at Dispose kaldes, selvom der opstår en undtagelse, mens du kalder metoder på objektet. Du kan opnå det samme resultat ved at placere objektet i en prøveblok og derefter kalde Dispose i en endelig blok; faktisk er det sådan, brugssætningen oversættes af compileren.

Skal jeg ringe til Dispose C?

4 svar. Tommelfingerregel: hvis en klasse implementerer IDisposable, skal du altid kalde Dispose-metoden, så snart du er færdig med at bruge denne ressource Det er endnu bedre at pakke den ind i en brugserklæring for at sikre, at Dispose-metoden vil kaldes, selvom der er en undtagelse: ved hjælp af (var reader=conn.

Anbefalede: