我正在研究postharp 1.5和OnMethodBoundaryAspect的方面.我希望我的方面默认具有以下行为:
1 - 如果在类级别使用该属性,则方面仅应用于PUBLIC方法.
2 - 方面的用户可以将方面放在私有或受保护的方法中.
如果我使用[MulticastAttributeUsage(MulticastTargets.Method,TargetMemberAttributes = MulticastAttributes.Public)]点1工作,但案例2甚至不构建因为不兼容.
然后我尝试使用:AttributeTargetTypeAttributes = MulticastAttributes.Public; 在方面的构造函数中,但不起作用.
非常感谢你提前.
不幸的是,没有办法使用SINGLE方面类来实现您的需求.
您可以使用三个方面类:
public abstract class MyAspect : OnMethodBoundaryAspect
{
}
[MulticastAttributeUsage(...,
TargetMembersAttributes = MulticastAttributes.Public )]
[AttributeUsage(AttributeTargets.Class)]
public class ClassLevelAspect : MyAspect
{
}
[MulticastAttributeUsage(...,
TargetMembersAttributes = MulticastAttributes.NonPublic )]
[AttributeUsage(AttributeTargets.Method)]
public class MethodLevelAspect : MyAspect
{
}
Run Code Online (Sandbox Code Playgroud)
-gael
| 归档时间: |
|
| 查看次数: |
2060 次 |
| 最近记录: |