2010-03-31 36 views
43

Tôi có một chút giao diện điều khiển chương trình C# nhưLàm cách nào để chạy mã trước khi thoát chương trình?

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

Bây giờ tôi muốn làm điều gì đó sau khi chính exit(). Tôi đã cố gắng viết một deconstructor cho Class Program, nhưng nó không bao giờ bị tấn công.

Có ai biết cách làm điều đó không.

Thanks a lot

Trả lời

97

Thử sự kiện ProcessExit của 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

này hoạt động tốt hơn. – 7wp

+0

Câu trả lời của tôi không chính xác, đây là cách tiếp cận tốt nhất. – ace

+0

Đây là giải pháp chung nhất, nhưng hãy cẩn thận ở đây, vì sự kiện 'ProcessExit' là thời gian giới hạn trong ba giây (như finalizers là khi ứng dụng tắt). http://msdn.microsoft.com/en-us/library/system.appdomain.processexit.aspx –

Các vấn đề liên quan