如何使用PostSharp修改方法参数?

时间:2011-12-19 21:46:55

标签: c# postsharp

我需要将一些参数传递给我的方法。如何使用PostSharp进行(修改)?

1 个答案:

答案 0 :(得分:17)

使用methodinterception,您可以使用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();
    }       
}