Мне нужно сделать некоторые вещи с параметрами, переданными в мой метод. Как я могу играть с ними (изменять) с помощью PostSharp?
Как изменить аргументы метода с помощью PostSharp?
Ответ 1
Используя метод interception, вы можете использовать объект Args.Arguments для изменения значений с помощью метода SetArgument.
[Serializable]
public class MyAspect : MethodInterceptionAspect
{
public override void OnInvoke(MethodInterceptionArgs args)
{
string input = (string)args.Arguments[0];
if (input.Equals("123"))
{
args.Arguments.SetArgument(0, " 456");
}
args.Proceed();
}
}