Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
No se puede llamar o reemplazar el método Object.Finalize desde los lenguajes de programación C# o Extensiones administradas de C++. C# y las Extensiones administradas disponen de destructores como mecanismo para escribir el código de finalización. Debe utilizar la sintaxis del destructor de C# y Extensiones administradas para realizar las operaciones de limpieza. Esta sintaxis resulta útil porque llama de forma implícita al método Finalize de la clase base de un objeto. De esta manera, se garantiza que se llama a Finalize para todos los niveles de destructores de los que deriva la clase actual.
El siguiente ejemplo de código se ha escrito para un destructor.
~MyClass()
{
// Perform some cleanup operations here.
}
Este código se traduce de forma implícita a lo siguiente.
protected override void Finalize()
{
try
{
// Perform some cleanup operations here.
}
finally
{
base.Finalize();
}
}
Nota Aunque su aspecto es similar, los destructores de C# y de las Extensiones administradas no tienen la misma semántica que los destructores de C++ no administrados. El código administrado no admite nada similar a la semántica del destructor de C++.
Vea también
Limpiar recursos no administrados | Reemplazar el método Finalize | Método Object.Finalize | Referencia del lenguaje de C# 1.7.9 Destructores