我想定義就像MVC擴展模板函數的函數TextBoxFor.NET定義函數,它接受一個lambda表達式
該功能的有趣的事情是,我沒有指定TProperty類型。 如何在我的函數定義中設置它。
我的代碼如下所示:
public class Helper<TItem>
{
public string GetMemberName(Expression<Func<TItem, TProperty>> expression)
{
... returns TProperty.Name
}
}
實際的問題是,這並不編譯...因爲它無法找到TProperty類型。
我想要的結果是用類型定義一次類...然後使用函數GetMemberName獲取每個成員的名稱,如MVC
框架。
Helper<Employee> h = new Helper<Employee>();
string name = h.GetMemberName(e=>e.Name);
....
我不想在編寫代碼時指定TProperty類型。基本上它可以是任何對象。
感謝,
拉杜
哥們看到我的答案,也許讓你的代碼更優雅。 – 2010-12-10 09:44:25