2011-08-01 56 views
5

我有一个Postsharp问题。postsharp异常为空

我有这样的:

[Serializable] 
public class MethodConnectionTracking: OnExceptionAspect 
{ 
    public override void OnException(MethodExecutionArgs args) 
     { 
      base.OnException(args); 
     } 
} 

,我用这样的。在assemblyInfo.cs中:

[assembly: MethodConnectionTracking] 

因此,当程序集中发生异常时,它会执行OnException方法。但是,当我调试方法,我看args(类型:MethodExecutionArgs)每个属性都有一个空值。 args.Exception为null。而我需要的例外类型..

任何人都知道我该如何解决这个问题?

在此先感谢

回答

4

的答案,如果因为PostSharp看到它们,让它们实现了优化,以不做这些属性任何你不使用任何这些属性。这就是为什么当你调试时它们是空的。改变你的方面匹配以下OCDE然后尝试再次调试

[Serializable] 
public class MethodConnectionTracking: OnExceptionAspect 
{ 
public override void OnException(MethodExecutionArgs args)   
{    
Exception e = args.Exception;  
} 
} 

,你可以清楚地看到为什么在这里:http://programmersunlimited.wordpress.com/2011/08/01/postsharp-why-are-my-arguments-null/

+0

谢谢!很简单! –