我正在尝试编写一个强类型助手
这将是这样的:
Html.Lookup(x => x.FooId);
现在我有这个:
public static MvcHtmlString Lookup<T,TReturn>(this HtmlHelper<T> html, Func<T, TReturn> expression)
{
// get string "FooId" here
}
有谁知道如何得到这个?
最佳答案
public static class ExpressionsExtractor
{
public static string Lookup<T, TProp>(this HtmlHelper<T> html, Expression<Func<T, TProp>> expression)
{
var memberExpression = expression.Body as MemberExpression;
if (memberExpression == null)
return null;
return memberExpression.Member.Name;
}
}
然后,您可以使用以下命令调用它:
var propName = Html.Lookup(x => x.FooId);
关于c# - 从表达式中获取字符串属性名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3778598/