C# Language Finalizadores en clases derivadas.


Ejemplo

Cuando se finaliza un gráfico de objetos, el orden es el inverso de la construcción. Por ejemplo, el supertipo se finaliza antes que el tipo base como lo demuestra el siguiente código:

class TheBaseClass
{
    ~TheBaseClass() 
    {
        Console.WriteLine("Base class finalized!");
    }
}

class TheDerivedClass : TheBaseClass
{
    ~TheDerivedClass() 
    {
        Console.WriteLine("Derived class finalized!");
    }
}

//Don't assign to a variable
//to make the object unreachable
new TheDerivedClass();

//Just to make the example work;
//this is otherwise NOT recommended!
GC.Collect();

//Derived class finalized!
//Base class finalized!