Finalizers on derived classes C# with Example



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! 

0 Comment's

Comment Form