C# 如何在程序退出前运行代码?

C# 如何在程序退出前运行代码?,c#,exit,C#,Exit,我有一个小小的控制台C#程序,比如 Class Program { static void main(string args[]) { } } 现在我想在main()退出后做一些事情。我曾试图为类程序编写解构器,但从未成功 有人知道怎么做吗 非常感谢尝试AppDomain的事件: using System; class Test { static void Main(string[] args) { AppDomain.Curren

我有一个小小的控制台C#程序,比如

Class Program 
{ 
    static void main(string args[]) 
    {
    }
}
现在我想在main()退出后做一些事情。我曾试图为类程序编写解构器,但从未成功

有人知道怎么做吗

非常感谢

尝试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");
    }
}

我的回答不正确,这是最好的方法。AppDomain.ProcessExit不能保证是calledhttp://blogs.msdn.com/b/jmstall/archive/2006/11/26/process-exit-event.aspxSure,“粗暴地”终止进程不会给执行ProcessExit的机会。因此,对于任何不知情的人来说,点击窗口右上角的X按钮可以“粗暴地”终止进程。这个答案在很多情况下是完全无用的。