Pulizia delle risorse non gestite
È preferibile che gli utenti dell'applicazione non chiamino direttamente il metodo Finalize di un oggetto, limitandone l'ambito a protected. Inoltre, si sconsiglia di chiamare il metodo Finalize per una classe diversa dalla classe base direttamente dal codice dell'applicazione. Per la corretta eliminazione delle risorse non gestite, si consiglia di implementare un metodo Dispose o Close pubblico che esegua il codice di pulitura appropriato per l'oggetto. L'interfaccia IDisposable fornisce il metodo Dispose per le classi di risorse che implementano l'interfaccia. In quanto pubblico, gli utenti dell'applicazione possono chiamare direttamente il metodo Dispose per liberare la memoria utilizzata dalle risorse non gestite. Quando si implementa correttamente un metodo Dispose, il metodo Finalize diviene una misura di sicurezza per la pulitura delle risorse nel caso in cui il metodo Dispose non venga chiamato. Per ulteriori informazioni sulla corretta implementazione, vedere Implementazione di un metodo Dispose.
In questa sezione
Implementazione di un metodo Dispose
Viene descritta l'implementazione del metodo Dispose per il rilascio delle risorse non gestite.Metodi Finalize e distruttori
Viene descritto in che modo i metodi Finalize e i distruttori consentono a un oggetto di svolgere le necessarie operazioni di pulitura prima che il Garbage Collector recuperi automaticamente la memoria dell'oggetto.Override del metodo Finalize
Viene descritta l'interazione dei metodi Finalize e Dispose.Sintassi del distruttore in C# e C++
Vengono descritti gli equivalenti C# e C++ del metodo Finalize.Utilizzo di oggetti che incapsulano risorse
Vengono illustrate le tecniche per garantire che venga chiamato il metodo Dispose, ad esempio l'istruzione using del linguaggio C# (Using in Visual Basic).
Riferimenti
- System.IDisposable
Viene definito il metodo Dispose per il rilascio delle risorse non gestite.