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

时间:2010-08-14 13:15:17

标签: c# .net reflection properties propertyinfo

我有什么方法可以从其吸气器获取属性的PropertyInfo?像这样:

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

我想避免将属性的名称硬编码为字符串,因为维护起来很棘手。

我正在使用.NET 2.0,因此我希望能够使用无linq解决方案。

2 个答案:

答案 0 :(得分:5)

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

PropertyInfo property = GetType()
                            .GetProperty(MethodBase
                                             .GetCurrentMethod()
                                             .Name
                                             .Substring("get_".Length)
                                        );

答案 1 :(得分:0)

嗯......那么你打算如何“给予”吸气剂?

我看到的唯一方法是MyGetProperyInfo(x => x.Foo);

可以做到,虽然它需要一个lambda&表达式<> (C#v2中都没有这两个版本)