пост резкое исключение равно нулю - PullRequest
5 голосов
/ 01 августа 2011

У меня проблема с Postsharp.

У меня есть это:

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

и я использовал это так. В сборкеInfo.cs:

[assembly: MethodConnectionTracking]

поэтому, когда в сборке возникает исключение, он выполняет метод OnException. Но когда я отлаживаю метод и смотрю args (type: MethodExecutionArgs), каждое свойство имеет нулевое значение. args.Exception является нулем. И мне нужен тип исключения ..

Кто-нибудь знает, как я могу это исправить?

Заранее спасибо

1 Ответ

4 голосов
/ 01 августа 2011

Ответ if, потому что 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/

...