代码之家  ›  专栏  ›  技术社区  ›  Jon B

有没有办法从属性的getter获取PropertyInfo?

  •  7
  • Jon B  · 技术社区  · 15 年前

    有什么办法能让我拿到 PropertyInfo 从它的getter得到一个属性?这样地:

    public object Foo
    {
        get
        {
            PropertyInfo propertyInfoForFoo = xxx;
            ...
        }
    }
    

    我希望避免将属性名硬编码为字符串,因为这很难维护。

    2 回复  |  直到 15 年前
        1
  •  5
  •   Noctis    11 年前

    MethodBase.GetCurrentMethod()将返回getyourpropertyname的MethodInfo对象。

    PropertyInfo property = GetType()
                                .GetProperty(MethodBase
                                                 .GetCurrentMethod()
                                                 .Name
                                                 .Substring("get_".Length)
                                            );
    
        2
  •  0
  •   James Curran    15 年前

    嗯。。。那你打算怎么被“给予”干劲呢?

    MyGetProperyInfo(x => x.Foo);