0

PostSharp 给出了这个错误:

PostSharp:无法在抽象或外部方法“...”上应用带有目标站点编织的 OnMethodInvocation 方面(...)。考虑从该方法中排除方面或使用调用站点编织。

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

4

2 回答 2

1

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

有关详细信息,请参阅 MulticastAttribute.AttributeInheritance 或 MulticastAttributeUsageAttribute.Inheritance 或官方文档

于 2009-09-15T11:04:33.487 回答
0

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

于 2009-09-15T09:53:50.003 回答