3 c# castle-windsor castle-dynamicproxy
我们在项目中使用 DynamicProxy。我为一些方法创建了一个拦截器。
我知道可以在对象内部获取方法参数Castle.DynamicProxy.IInterceptor。
拦截器可以在调用之前更改传递给方法的参数值吗invocation.Proceed()?
小智 6
是的 - 是的,可以。
在这种情况下,可以使用IInvocation.Method属性上的反射来获取方法参数;方法参数直接附加到调用。虽然参数属性是只读值(没有公共设置器),但它是类型object[]- 因此它的属性是可写的。
因此,拦截器可以通过arguments使用与方法参数位置相对应的正确索引写入对象来更改参数值。
| 归档时间: |
|
| 查看次数: |
2071 次 |
| 最近记录: |