Logo hu.boatexistence.com

A hívás véglegesítése megsemmisül?

Tartalomjegyzék:

A hívás véglegesítése megsemmisül?
A hívás véglegesítése megsemmisül?

Videó: A hívás véglegesítése megsemmisül?

Videó: A hívás véglegesítése megsemmisül?
Videó: Arıza 17. Bölüm 2024, Július
Anonim

Ha rendelkezik natív erőforrásokkal, akkor megvalósítja a Selejtezést és a Véglegesítést is, és mindkettő meghív egy közös metódust, amely felszabadítja a natív erőforrásokat. Ezeket az idiómákat általában egy privát Dispose (bool disposing) metódussal kombinálják, amely a Dispose hívásokat igaz, a hívások véglegesítése pedig hamis értékkel történik.

Mikor használjuk a véglegesítés vs selejtezést?

A dispose() metódus a nem kezelt erőforrások felszabadítására szolgál, amikor meghívásra kerül. A finalize() metódus nem menedzselt erőforrások felszabadítására szolgál, mielőtt az objektum megsemmisül. A dispose() metódust akkor kell végrehajtani, ha van close() metódus.

Mi a különbség a selejtezés és a véglegesítés módszer között?

A fő különbség a selejtezés és a véglegesítés között , hogy a selejtezési módszert a felhasználónak kifejezetten meg kell hívnia, míg a véglegesítés módszerét a szemétgyűjtő hívja meg, közvetlenül a tárgy megsemmisült.

A hívás eldobása?

A using utasítás biztosítja, hogy a Dispose meghívásra kerüljönmég akkor is, ha kivétel történik, miközben metódusokat hív az objektumon. Ugyanezt az eredményt érheti el, ha az objektumot egy try blokkba helyezi, majd meghívja a Dispose parancsot egy végleges blokkba; valójában így fordítja le a using utasítást a fordító.

Hívjam a Dispose C-ot?

4 Válaszok. Ökölszabály: ha egy osztály megvalósítja az IDisposable-t, mindig hívja meg a Dispose metódust, amint befejezte az erőforrás használatát Még jobb, ha egy használó utasításba csomagolja, hogy a Dispose metódus akkor is hívható, ha kivétel kerül: using (var reader=conn.

Ajánlott: