多播我有一个简单的方面:方面在postsharp
[System.Serializable()]
[System.AttributeUsage(System.AttributeTargets.Assembly)]
[PostSharp.Extensibility.MulticastAttributeUsage(PostSharp.Extensibility.MulticastTargets.Method)]
public class NullableMethodCallAspect : PostSharp.Aspects.MethodInterceptionAspect
{
public override void OnInvoke(PostSharp.Aspects.MethodInterceptionArgs args)
{
if (args.Instance != null)
args.Proceed();
}
}
我有我的解决方案中的两个项目:UI
和UIAppearanceExtensibility
(这是由UI
引用)。
在第二个中,我声明了一些接口,以便其他开发人员可以使用它们根据这些接口创建多个实现。
从UI
我宣布这些接口的属性,例如IInterface1
。
所以,从我的UI项目(组装),我需要我的方面适用于每次调用IInterface1
对象...
我已经试过了,但是,它不工作:
[assembly: UI.Aspects.NullableMethodCallAspect(
AttributeTargetAssemblies = "UIAppearanceExtensibility",
AttributeTargetTypes = "UI.Appearance.Extensibility.Triage.*",
AttributeTargetMembers = "regex: handle*"
)]