我想编写一个表达式来检索属性中的属性。我的2个课程:
public class BusinessType
{
public string Proprietor
{
get { return "Proprietor"; }
}
}
public class VendorApplicationViewModel
{
public List<BusinessType> BusinessClassification { get; set; }
}
public static IHtmlString RadioListForIEnum<TModel, TProperty>(this HtmlHelper<TModel> htmlhelper,
Expression<Func<TModel, TProperty>> expression)
{
var prop = ModelMetadata.FromLambdaExpression(expression, htmlhelper.ViewData);
//Func<TModel2, TProperty2> nestedProperty =
return null;
}
我很遗憾我是如何做到这一点的。此外,我对表达树很新,任何有关教程的好建议都会受到高度赞赏。感谢
答案 0 :(得分:1)
我认为你只是想在房产内找到一处房产。
您可以拥有以下内容。
Expression<Func<VendorApplicationViewModel, string>> lambda1 = model => model.BusinessClassification[0].Proprietor;
可以在代码中重新创建
ParameterExpression param = Expression.Parameter(typeof(VendorApplicationViewModel));
Expression<Func<VendorApplicationViewModel, string>> lambda2 = Expression.Lambda<>(
Expression.Property(
Expression.Property(
param,
"BusinessClassification",
Expression.Constant(0)
),
"Proprietor"
),
param
);