Condividi tramite


Sintassi del distruttore in C# e C++

Aggiornamento: novembre 2007

Nei linguaggi di programmazione C# o C++ non è possibile chiamare o sottoporre a override il metodo Object.Finalize. In C# i distruttori vengono utilizzati come meccanismo per la scrittura del codice di finalizzazione, come descritto in Distruttori (Guida per programmatori C#).

In C++ la sintassi del distruttore viene utilizzata per implementare il metodo Dispose, mentre per l'implementazione del metodo Finalize viene fornita una sintassi specifica del linguaggio, come descritto in Destructors and Finalizers in Visual C++.

Nota:

Prima della versione 2.0 di .NET Framework, in C++ la sintassi del distruttore veniva utilizzata, come in C#, per implementare il metodo Finalize e non esisteva una sintassi speciale per l'implementazione del metodo Dispose. Per compilare codice C++ in cui è utilizzata la sintassi precedente, utilizzare l'opzione del compilatore /clr:oldSyntax.

Sebbene sembrino simili, la semantica dei distruttori in C# e C++ è diversa da quella dei distruttori in C++ non gestito. Il codice gestito non supporta alcuna funzionalità che possa essere paragonata alla semantica dei distruttori in C++.

Vedere anche

Concetti

Override del metodo Finalize

Riferimenti

Finalize

/clr (Compilazione Common Language Runtime)

Altre risorse

Pulitura delle risorse non gestite