0

現在、OnMethodBoundaryAspect.OnExit メソッドでメソッド名を確認しています。

[Serializable]
public class TimerAttribute : OnMethodBoundaryAspect
{
    public override void OnExit(MethodExecutionEventArgs eventArgs)
    {
        if(eventArgs.Method.DeclaringType.Name == "Program" && eventArgs.Method.Name == "Main")
            //do things
    }
}

明らかに、これは醜く、下品に感じます。PostSharp でアプリケーションの終了を検出するより確実な方法はありますか?

4

1 に答える 1

2

そのためにPostSharpを使用するべきではないと思います。

System.AppDomain のいくつかの機能を使用して、アプリケーション ドメインが終了しているかどうかを検出できます。

  • AppDomain.IsFinalizingForUnload()
  • AppDomain.ProcessExit
  • AppDomain.DomainUnload
于 2010-01-23T08:35:46.810 に答える