有沒有什麼辦法可以讓PropertyInfo
從它的getter獲得一個屬性?像這樣:有什麼辦法從該屬性的getter獲取PropertyInfo?
public object Foo
{
get
{
PropertyInfo propertyInfoForFoo = xxx;
...
}
}
我想避免必須硬編碼屬性的名稱作爲字符串,因爲這很難維護。
我使用的是.NET 2.0,所以我希望有一個linq-less解決方案。
有沒有什麼辦法可以讓PropertyInfo
從它的getter獲得一個屬性?像這樣:有什麼辦法從該屬性的getter獲取PropertyInfo?
public object Foo
{
get
{
PropertyInfo propertyInfoForFoo = xxx;
...
}
}
我想避免必須硬編碼屬性的名稱作爲字符串,因爲這很難維護。
我使用的是.NET 2.0,所以我希望有一個linq-less解決方案。
MethodBase.GetCurrentMethod ()將返回get_YourPropertyName的MethodInfo對象。
PropertyInfo property = GetType()
.GetProperty(MethodBase
.GetCurrentMethod()
.Name
.Substring("get_".Length)
);
嗯......那麼你打算如何計劃給予吸氣劑?
我看到的唯一方法是通過類似MyGetProperyInfo(x => x.Foo);
這是可以做到,但它需要一個lambda &的表達<>(兩者都沒有在C#v2是可用的)
Lambda在c#2中可用,但不是linq。不確定Expression <>。 – 2010-08-14 13:55:22
@JOnB:'Expression'和所有子類型都在System.Core程序集中實現,並且在.NET 3.5中添加。 – Richard 2010-08-14 14:10:37
的可能重複[如何獲得通過反射當前屬性的名字嗎?](http://stackoverflow.com/questions/1206023/how-to-get-current-property-name-via-reflection) – nawfal 2013-04-27 13:48:24