在抽象方法中添加方面?

时间:2009-09-15 09:37:22

标签: .net aop postsharp

PostSharp给出了这个错误:

  

PostSharp:无法申请   OnMethodInvocation方面(...)用   目标网站在抽象或编织上编织   外部方法“......”。考虑   排除此方法的方面   或使用呼叫现场编织。

建议的电话网站编织对我来说不是一个合适的解决方案。有没有办法为抽象方法添加前/后处理?

2 个答案:

答案 0 :(得分:1)

我建议你使用方面继承。该方面将自动添加到实现抽象方法的所有方法中。

有关详细信息,请参阅MulticastAttribute.AttributeInheritance或MulticastAttributeUsageAttribute.Inheritance,或official documentation

答案 1 :(得分:0)

这当然是不可能的 - 你如何使用抽象方法,没有任何代码的方法进行目标网站编织?您当然可以使用实现该方法的所有派生类型执行目标站点编织,但这需要您控制此类型。或者您可以使该方法非抽象和虚拟,并且需要派生类型来调用基本实现。