【问题标题】:postsharp exception is nullpostsharp 异常为空
【发布时间】:2011-08-01 18:25:15
【问题描述】:

我对 Postsharp 有疑问。

我有这个:

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

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

[assembly: MethodConnectionTracking]

所以,当程序集中发生异常时,它会执行 OnException 方法。但是,当我调试方法并观察 args (类型: MethodExecutionArgs )时,每个属性都有一个空值。 args.Exception 为空。我需要异常类型..

有人知道我该如何解决这个问题吗?

提前致谢

【问题讨论】:

    标签: c# postsharp


    【解决方案1】:

    答案是因为 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/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多