我正在使用PostSharp 2.1.5.1并在今天发出警告:
Aspect依赖项(定义于 将禁用“MyNamespace.MyAspect.MyVerificationAttribute”) 未来版本中的简化版。使用AspectPriority 财产而不是。
我觉得以下行引起了警告:
[AspectRoleDependency(AspectDependencyAction.Order, AspectDependencyPosition.After, StandardRoles.Tracing)]
有人能指出我如何使用AspectPriority
的正确示例吗?以下示例是最新的吗?
http://www.sharpcrafters.com/blog/post/introducing-postsharp-2-0-3-aspect-dependencies.aspx(“旧优先级优先”一节)
http://www.sharpcrafters.com/blog/post/Day-3-Applying-Aspects-with-Multicasting-Part-2.aspx(“方面优先级”一节)
感谢。
答案 0 :(得分:4)
正确的用法是AttributePriority。较低的值是较高的优先级,或首先应用的方面。
[Trace(AttributePriority = 2)]
[HandleError(AttributePriority = 1)]
public void MyMethod()
{
}
Aspect Priority暂时无效。 AspectDependencyAction确定两个方面之间的“优先级”。这意味着,如果Aspect1依赖于Aspect2,则AspectDependencyAction.Order = After,然后在应用Aspect2之后应用Aspect1。但这不是你想要的(我想)。只需使用AttributePriority。