In many cases we use resources such as files, storage, connections etc. in our application. Being a programmer it is our responsibility to free up all the used resources before terminating our program. We have try {} finally{} which does the same thing. This can be achieved by AppDomains ProcessExit event.
Executing this program will print
I am inside Myclass
I am inside Main()
Obviously the last statement will not be visible, as the application is still running. But, you can try writting in an event log to see how it works.
class Myclass
{
// will print 1st also sets up Event Handler
static Myclass()
{
Console.WriteLine("I am inside Myclass");
}
static void Main(string[] args)
{
Console.WriteLine("I am inside Main()"); // it will print 2nd
AppDomain.CurrentDomain.ProcessExit += new EventHandler(CurrentDomain_ProcessExit);
}
static void CurrentDomain_ProcessExit(object sender, EventArgs e)
{
Console.WriteLine("I am the last one to run");
}
}
Executing this program will print
I am inside Myclass
I am inside Main()
Obviously the last statement will not be visible, as the application is still running. But, you can try writting in an event log to see how it works.