Есть ли способ получить PropertyInfo от получателя этого свойства? - PullRequest
7 голосов
/ 14 августа 2010

Можно ли как-нибудь получить PropertyInfo для свойства от его получателя? Как это:

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

Я хочу избежать жесткого кодирования имени свойства в виде строки, так как это сложно поддерживать.

Я использую .NET 2.0, поэтому надеюсь на решение без linq.

Ответы [ 2 ]

5 голосов
/ 14 августа 2010

MethodBase.GetCurrentMethod () вернет объект MethodInfo для get_YourPropertyName.

PropertyInfo property = GetType()
                            .GetProperty(MethodBase
                                             .GetCurrentMethod()
                                             .Name
                                             .Substring("get_".Length)
                                        );
0 голосов
/ 14 августа 2010

Хм ... Так как вы планировали получить "получателя" добытчика?

Единственный способ, которым я вижу, это что-то вроде MyGetProperyInfo(x => x.Foo);

, что можно сделать, хотядля этого требуется лямбда и выражение <> (ни одно из которых не доступно в C # v2)

...