在PostSharp中是否有等效的AspectJ调用切入点?
具体:ClassA和ClassB都在ClassC上调用方法foo()。我想拦截仅从A到C,而不是B到C的调用。在AspectJ中,这可以通过将调用与内部切入点配对来实现,如下所示:
致电(* ClassC.foo())&& (ClassA的)
内我如何在PostSharp中实现这一目标?
答案 0 :(得分:1)
这是不可能的,因为MethodInterceptionAspect适用于方法本身而不适用于调用站点,因此切入点只能过滤方法,而不能调用站点。
可能的解决方案是使两个方面合作 - 一个将管理线程静态变量,第二个将执行截获的方法或执行一些额外的工作。但是,这不是一个理想的解决方案。