我正在使用
Castle DynamicProxy编写一个装饰代理.我需要代理拦截器拦截属性写(而不是读),所以我正在检查方法的名称:
public void Intercept(IInvocation invocation) { if (invocation.Method.Name.StartsWith("set_") { // ... } invocation.Proceed(); }
现在这样做不错,但是我不喜欢我的代理对于实现属性的深入了解:我想用类似于以下的东西替换方法名称检查:
if (invocation.Method.IsPropertySetAccessor)
不幸的是,我的Google-fu已经失败了我.有任何想法吗?