我想定义就像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