Condividi tramite


Sintassi del distruttore in C# e C++

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++.

NotaNota

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

Riferimenti

Finalize

/clr (Common Language Runtime Compilation)

Concetti

Override del metodo Finalize

Altre risorse

Pulizia delle risorse non gestite