Ako držite izvorne resurse, vi implementirate i Dispose i Finalize, i oba pozivaju zajedničku metodu koja oslobađa izvorne resurse. Ovi idiomi se obično kombinuju kroz privatnu metodu Dispose (odlaganje bool), koja Dispose poziva sa true, a Finalize pozive sa false.
Kada koristiti finalize vs Dispose?
Metoda dispose() se koristi za oslobađanje neupravljanih resursa kad god se pozove. Metoda finalize() se koristi za oslobađanje neupravljanih resursa prije nego što se objekt uništi. Metoda dispose() se implementira kad god postoji close() metoda.
Koja je razlika između metoda Dispose i Finalize?
Glavna razlika između dispose i finalize je što korisnik mora eksplicitno pozvati metodu dispose dok metod finalize poziva sakupljač smeća, neposredno prije objekat je uništen.
Da li korištenje poziva Dispose?
Naredba using osigurava da se Dispose pozove čak i ako se dogodi izuzetak dok pozivate metode na objektu. Isti rezultat možete postići tako što ćete objekt staviti u blok try, a zatim pozvati Dispose u finally blok; u stvari, ovako prevodi naredbu using kompajler.
Da li da pozovem Dispose C?
4 odgovora. Pravilo palca: ako klasa implementira IDisposable, uvijek trebate pozvati metodu Dispose čim završite korištenje ovog resursa Još bolje je umotati u naredbu using kako biste bili sigurni da će metoda Dispose biti pozvan čak i ako je izbačen izuzetak: koristeći (var reader=conn.