装配级别的Fody MethodDecorator

时间:2018-12-03 07:43:50

标签: c# fody compile-time-weaving

我正在尝试在装配级别将MethodDecorator与fody一起使用。

我尝试使用示例代码提供的属性,而未做任何更改:

[AttributeUsage(AttributeTargets.Method | AttributeTargets.Constructor | 
AttributeTargets.Assembly | AttributeTargets.Module)]
public class InterceptorAttribute : Attribute, IMethodDecorator {
    // The code of the implemented methods doesn't matter.
}

如果我使用[Interceptor]装饰一种方法,那么一切都将按预期工作。

但是我尝试在程序集中拦截每个方法。该示例代码将此属性定位为AttributeTargets.Assembly。这表明我可能正在工作。

为此,我在项目的[assembly: InterceptorAttribute]中添加了AssemblyInfo.cs

代码仍然可以正确编译,但是不会调用拦截器。

如果我使用[module: Interceptor],也会发生同样的情况。

要使它正常工作,我该怎么做?
还有其他方法可以拦截程序集/模块中的每个方法吗?

更新

我发现MethodBoundaryAspect可以正常工作。

0 个答案:

没有答案