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 回答