2010-03-31 2 views
43

Ho un piccolo programma di console C# comeCome eseguire il codice prima dell'uscita del programma?

Class Program 
{ 
    static void main(string args[]) 
    { 
    } 
} 

Ora voglio fare qualcosa dopo uscita principale(). Ho provato a scrivere un decostruttore per il programma Class, ma non sono mai stato colpito.

Qualcuno sa come farlo.

Grazie mille

risposta

97

Prova caso ProcessExit di AppDomain:

using System; 
class Test { 
    static void Main(string[] args) 
    { 
     AppDomain.CurrentDomain.ProcessExit += new EventHandler (OnProcessExit); 
     // Do something here 
    } 

    static void OnProcessExit (object sender, EventArgs e) 
    { 
     Console.WriteLine ("I'm out of here"); 
    } 
} 
+0

Questo funziona ancora meglio. – 7wp

+0

La mia risposta era errata, questo è l'approccio migliore. – ace

+0

Questa è la soluzione più generica, ma fai attenzione qui, poiché l'evento 'ProcessExit' è limitato nel tempo a tre secondi (come i finalizzatori sono quando l'applicazione si arresta). http://msdn.microsoft.com/en-us/library/system.appdomain.processexit.aspx –