【发布时间】:2011-10-19 09:54:16
【问题描述】:
我正在使用Castle DynamicProxy 编写装饰代理。我需要代理的拦截器只拦截属性写入(而不是读取),因此我正在检查方法的名称:
public void Intercept(IInvocation invocation)
{
if (invocation.Method.Name.StartsWith("set_")
{
// ...
}
invocation.Proceed();
}
现在这工作正常,但我不喜欢我的代理对如何实现属性有深入了解的事实:我想用类似的东西替换方法名称检查:
if (invocation.Method.IsPropertySetAccessor)
不幸的是,我的 Google-fu 让我失望了。有什么想法吗?
【问题讨论】:
标签: c# reflection