Customizing destructors in C#
We want to know when the instances of the Circle class are removed from memory, that is, when the objects go out of scope and the garbage-collection mechanism removes them from memory. Destructors are the special class methods that are automatically executed when the run time destroys an instance of a given type. Thus, we can use them to add any code we want to run before the instance is destroyed.
The destructor is a special class method that uses the same name as the class, but prefixed with a tilde (~): ~Circle. The destructor must be parameterless, and it cannot return a value.
The following lines declare a destructor (a ~Circle method) within the body of the Circle class:
~Circle()
{
Console.WriteLine(String.Format("I'm destroying the Circle instance with a radius value of {0}.", radius));
}The code within the destructor prints a message on the console indicating that the runtime is destroying a Circle instance with a specific radius value. This way, we...