Finalizers on derived classes C# with Example
When an object graph is finalized, the order is the reverse of the construction. E.g. the super-type is finalized before the base-type as the following code demonstrates: 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!