2012-11-28 3 views
1

속성 내의 속성을 검색하는 식을 쓰고 싶습니다. 제 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; 
} 

. 또한 저는 표현의 나무에 상당히 익숙합니다. 자습서와 좋아하는 것에 대한 좋은 추천은 크게 감사 할 것입니다. 감사합니다

+1

그 같은 코드 재현 할 수있는 당신이 여기 요구하는지 해독하기가 매우 어렵습니다. – nawfal

답변

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 
);