在PostSharp中等效的AspectJ调用切入点

时间:2014-10-17 09:38:35

标签: aspectj postsharp

在PostSharp中是否有等效的AspectJ调用切入点?

具体:ClassA和ClassB都在ClassC上调用方法foo()。我想拦截仅从A到C,而不是B到C的调用。在AspectJ中,这可以通过将调用与内部切入点配对来实现,如下所示:

致电(* ClassC.foo())&& (ClassA的)

我如何在PostSharp中实现这一目标?

1 个答案:

答案 0 :(得分:1)

这是不可能的,因为MethodInterceptionAspect适用于方法本身而不适用于调用站点,因此切入点只能过滤方法,而不能调用站点。

可能的解决方案是使两个方面合作 - 一个将管理线程静态变量,第二个将执行截获的方法或执行一些额外的工作。但是,这不是一个理想的解决方案。