替代(免费)到AOP PostSharp进行方法跟踪(和异常)

时间:2015-08-21 23:34:59

标签: c# trace

我喜欢在类中添加跟踪进入和离开的每个方法。并在发生异常时跟踪参数。使用PostSharp AOP,我不需要将它放在每个方法中,只需应用属性。但我买不起PostSharp。

有替代方法吗? Unity3D能做到吗?

我正在使用log4net来记录消息。

1 个答案:

答案 0 :(得分:1)

是的,您可以使用Unity进行面向方面编程和拦截。

  

Unity是一个轻量级,可扩展的依赖注入容器   支持实例和类型拦截。

Dino Esposito写了一篇很棒的文章:Aspect-Oriented Programming, Interception and Unity 2.0

  

Unity 2.0中的拦截

     

Unity中拦截的核心思想是让开发人员能够自定义所需的调用链   调用对象上的方法。换句话说,Unity   拦截机制捕获对配置对象的调用   并通过添加一些额外的东西来自定义目标对象的行为   常规执行方法之前,之后或周围的代码。   拦截本质上是一种非常灵活的添加新方法   在运行时对对象的行为,而不触及其源代码和   而不影响同一继承中的类的行为   路径。

还有一篇关于Interception using Unity的精彩模式和实践文章。 文章中的示例代码使用拦截执行日志记录。