我创建了一个小的 Aspects 层次结构。例子:
public abstract class MyBaseAspectAttribute : Aspect, IAspectProvider
{
...
public IEnumerable<AspectInstance> ProvideAspects( object targetElement )
{
}
...
}
我想知道在 ProvideAspects 中是否有任何方法可以找出是否以及哪些其他 Aspect 已应用于 targetElement - 并获取对 Aspect 实例的引用。
就像是
PostShart.GetAspects(targetElement).OfType<MyBaseAspectAttribute>();
(我的意图:检查是否已经添加了某个方面,如果是,则修改它)
PS:我确实以另一种方式解决了我的问题,但如果这可能的话,它会比我的解决方案更优雅、更有效。