多播我有一個簡單的方面:方面在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*"
)]