Dacă dețineți resurse native, implementați atât Dispose, cât și Finalize și ambele apelează la o metodă comună care eliberează resursele native. Aceste idiomuri sunt de obicei combinate printr-o metodă privată Dispose (dispoziție bool), care Dispose apelurile cu true și Finalize apelurile cu false.
Când să folosiți Finalize vs Dispose?
Metoda dispose() este folosită pentru a elibera resurse neadministrate ori de câte ori este invocată. Metoda finalize() este folosită pentru a elibera resurse neadministrate înainte ca obiectul să fie distrus. Metoda dispose() trebuie implementată ori de câte ori există o metodă close().
Care este diferența dintre metodele Dispose și Finalize?
Principala diferență dintre eliminare și finalizare este că metoda dispun trebuie invocată în mod explicit de către utilizator, în timp ce metoda finalize este invocată de colectorul de gunoi, chiar înainte de obiectul este distrus.
Utilizarea apelului Dispose?
Instrucțiunea using asigură că Dispose este numit chiar dacă apare o excepție în timp ce apelați metode pe obiect. Puteți obține același rezultat punând obiectul într-un bloc try și apoi apelând Dispose într-un bloc finally; de fapt, acesta este modul în care instrucțiunea using este tradusă de către compilator.
Ar trebui să sun pe Dispose C?
4 Răspunsuri. Regula generală: dacă o clasă implementează IDisposable, ar trebui să apelați întotdeauna metoda Dispose de îndată ce ați terminat de utilizat această resursă Chiar mai bine includeți-o într-o instrucțiune using pentru a vă asigura că metoda Dispose va fi apelat chiar dacă se aruncă o excepție: folosind (var reader=conn.