Logo fi.boatexistence.com

Hävitetäänkö puhelun viimeistely?

Sisällysluettelo:

Hävitetäänkö puhelun viimeistely?
Hävitetäänkö puhelun viimeistely?

Video: Hävitetäänkö puhelun viimeistely?

Video: Hävitetäänkö puhelun viimeistely?
Video: Vastavakoilu Arto Laurin perässä Aug 8, 2020 2024, Heinäkuu
Anonim

Jos sinulla on alkuperäiset resurssit, toteutat sekä Hävitä että Viimeistele ja molemmat kutsuvat yhteistä menetelmää, joka vapauttaa alkuperäiset resurssit. Nämä idiomit yhdistetään tyypillisesti yksityisellä Dispose(bool disposing) -menetelmällä, jossa Dispose puhelut arvolla true ja Finalize calls with false.

Milloin käyttää viimeistelyä vs. hävittämistä?

Methodia dispose() käytetään vapauttamaan hallitsemattomia resursseja aina, kun sitä vedetään. Menetelmää finalize() käytetään hallitsemattomien resurssien vapauttamiseen ennen objektin tuhoutumista. Metodi dispose() tulee ottaa käyttöön aina, kun on olemassa close()-metodi.

Mitä eroa on Hävitä- ja Viimeistele-menetelmien välillä?

Pääasiallinen ero hävittämisen ja viimeistelyn välillä on että käyttäjän täytyy nimenomaisesti kutsua poistomenetelmä, kun taas jätteenkerääjä käyttää viimeistelymenetelmää juuri ennen esine on tuhoutunut.

Huvitaanko puhelun käyttäminen?

using-käsky varmistaa, että Disposea kutsutaan nimellä, vaikka tapahtuisi poikkeus, kun kutsut objektin menetelmiä. Voit saavuttaa saman tuloksen asettamalla objektin try-lohkon sisään ja kutsumalla sitten Dispose-komentoa lopullisessa lohkossa; itse asiassa kääntäjä kääntää using-lauseen tällä tavalla.

Pitäisikö minun soittaa Dispose C:lle?

4 Vastauksia. Nyrkkisääntö: jos luokka ottaa käyttöön IDisposable-menetelmän, sinun tulee aina kutsua Dispose-menetelmä heti, kun olet lopettanut tämän resurssin käytön Vielä parempi kääri se use-lauseeseen varmistaaksesi, että Dispose-menetelmä kutsutaan vaikka poikkeus heitetään: using (var reader=conn.

Suositeltava: