2016-03-28 62 views

回答

2

是的 - 是的,它可以。

在这种情况下,可以使用IInvocation.Method属性上的Reflection来获取方法参数;方法参数直接附加到调用。虽然arguments属性是一个只读值(不是公共setter),但它的类型为object[] - 因此它的属性是可写的。

因此,拦截器可以通过写入arguments对象,使用对应于方法参数位置的正确索引来更改参数值。