Я пытаюсь использовать fody с MethodDecorator на уровне сборки.
Я пытался использовать атрибут, предоставленный примером кода, без каких-либо изменений:
[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 , который работает, как ожидалось.