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

Fra*_*ank 53 c# exit

我有一个像C#这样的控制台程序

Class Program 
{ 
    static void main(string args[]) 
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我想在main()退出后做一些事情.我试图为类程序编写一个解构函数,但它永远不会被击中.

有人知道怎么做.

非常感谢

Gon*_*alo 118

尝试以下的ProcessExit事件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");
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 当然,'粗鲁'杀死进程将无法执行ProcessExit.因此'粗鲁':-) (6认同)
  • AppDomain.ProcessExit不保证被称为http://blogs.msdn.com/b/jmstall/archive/2006/11/26/process-exit-event.aspx (4认同)
  • 对于任何不知情的人来说,点击窗口右上角的 X 按钮可能会“粗鲁地”终止该进程。 (4认同)
  • 即这个答案在很多情况下完全没用. (4认同)
  • 我的回答是不正确的,这是最好的方法. (2认同)
  • 如果应用程序抛出异常,这也将不起作用。 (2认同)