0
어떻게 표현식을 동적으로 작성합니까?PropertyInfo에서 Expression을 동적으로 작성하십시오.
나는 사용자 정의 EditorFor 있습니다
public static class MvcExtensions
{
public static MvcHtmlString GSCMEditorFor<TModel, TValue>(this HtmlHelper<TModel> html, Expression<Func<TModel, TValue>> expression, QuestionMetadata metadata)
{
return System.Web.Mvc.Html.EditorExtensions.EditorFor(html, metadata.Expression<TModel, TValue>());
}
}
을 그리고 다음과 같이 호출 할 :
@foreach (var questionMetaData in Model.MetaData)
{
@Html.GSCMEditorFor(questionMetaData);
}
내 QuestionMetaData 클래스는 다음과 같습니다
public class QuestionMetadata
{
public PropertyInfo Property { get; set; }
public Expression<Func<TModel, TValue>> Expression<TModel, TValue>()
{
return ///what;
}
}
그리고 나는 이 초기화 :
public IList<QuestionMetadata> GetMetaDataForApplicationSection(Type type, VmApplicationSection applicationSection)
{
var props = type.GetProperties().Where(prop => Attribute.IsDefined(prop, typeof(ApplicationQuestionAttribute)) &&
applicationSection.Questions.Select(x => x.Name).ToArray().Contains(prop.Name));
var ret = props.Select(x => new QuestionMetadata { Property = x }).ToList();
return ret;
}
PropertyInfo 개체에서 표현식을 만들려면 어떻게해야합니까?
는 표현이 해당 속성의 값을 반환해야할까요? –