如何应用Postsharp方面解决方案(命名空间中的所有类)

Gul*_*llu 5 aop postsharp

我正在尝试修改Postsharp附带的示例跟踪应用程序,以便将跟踪应用于我的命名空间中的所有类,而无需将[QuickTrace]显式放在每个类的顶部.我附上了截图.我究竟做错了什么 ?右键单击打开/查看图像以获得更大的图片.谢谢

在此输入图像描述

Dus*_*vis 4

你这样做是错误的。您试图将方面分配给 mscorelib,它将包装对驻留在 mscorelib (不是您当前的应用程序)中的任何方法的调用,但您否定了这一点,因为您告诉它仅适用于跟踪命名空间。

只需使用

[assembly: QuickTrace()]
Run Code Online (Sandbox Code Playgroud)

完毕。在您方面,添加以下内容

[QuickTrace(AttributeExclude=True)]
[Serializable]
public QuickTrace : OnMethodBoundaryAspect
{
  //..Aspect code here
}
Run Code Online (Sandbox Code Playgroud)

  • 你不能将一个方面应用于自身,你最终会进入 stackoverflow(然后你最终会进入 stackoverflow 询问为什么) (4认同)