2010-03-31 3 views
43

J'ai une petite console C# programme commeComment faire pour exécuter le code avant la sortie du programme?

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

Maintenant, je veux faire quelque chose après la sortie principale(). J'ai essayé d'écrire un déconstructeur pour le programme de classe, mais il ne sera jamais touché.

Quelqu'un sait-il comment le faire.

Merci beaucoup

Répondre

97

Essayez l'événement ProcessExit de 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

Cela fonctionne encore mieux. – 7wp

+0

Ma réponse était incorrecte, c'est la meilleure approche. – ace

+0

C'est la solution la plus générique, mais faites attention ici, car l'événement 'ProcessExit' est limité dans le temps à trois secondes (comme les finaliseurs sont quand l'application s'arrête). http://msdn.microsoft.com/en-us/library/system.appdomain.processexit.aspx –

Questions connexes