相关疑难解决方法(0)

确定MethodInfo实例是否是属性访问器

我正在使用Castle DynamicProxy编写装饰代理.我需要代理的拦截器来拦截属性写入(而不是读取)所以我正在检查方法的名称:

public void Intercept(IInvocation invocation)
{
    if (invocation.Method.Name.StartsWith("set_")
    {
        // ...
    }

    invocation.Proceed();
}
Run Code Online (Sandbox Code Playgroud)

现在这个工作正常,但我不喜欢我的代理人对如何实现属性有深入了解的事实:我想用类似于以下内容的方法替换方法名称检查:

if (invocation.Method.IsPropertySetAccessor)
Run Code Online (Sandbox Code Playgroud)

不幸的是,我的Google-fu失败了.有任何想法吗?

c# reflection

11
推荐指数
2
解决办法
4720
查看次数

标签 统计

c# ×1

reflection ×1