PropertyType에 의해 반환 된 형식을 사용하여 형식화 된 함수를 만들려고합니다. 이 유사 함을 알았습니다 using type returned by Type.GetType() in c# 그러나 목록을 작성하는 방법에 대해서는 언급했지만 Func <>을 만드는 방법은 언급하지 않았습니다. 제발 도와주세요.PropertyType 반사 특성을 동적으로 사용하여 각각의 형식화 된 함수 <>를 만드는 방법은 무엇입니까?
의사 코드 :
PropertyInfo inf = typeof(SomeClass).GetProperty("PropertyName");
Type T=inf.PropertyType;
Expression<Func<SomeClass,T>> le = GetPropertyOrFieldByName<SomeClass,T>("PropertyName");
static Expression<Func<TSource, TResult>> GetPropertyOrFieldByName<TSource,TResult>(string propertyOrFieldName)
{
ParameterExpression item = Expression.Parameter(typeof(TSource), "expr");MemberExpression prop = LambdaExpression.PropertyOrField(item, propertyOrFieldName);
var expr = Expression.Lambda<Func<TSource, TResult>>(prop, new ParameterExpression[] { item });
expr.Compile();
return expr;
}
달성하고자하는 의사 코드를 표시 할 수 있습니까? 귀하의 질문은 다소 모호합니다. – Steven
대리인의 인스턴스를 만들려면 어떻게 하시겠습니까? – Andrey
죄송합니다. 다소 모호하다면 여기에 코드가 있습니다.이 코드는 내가하고 싶은 코드입니다 ... PropertyInfo inf = typeof (SomeClass) .GetProperty ("PropertyName"); 유형 T = inf.PropertyType; Expression> le = GetPropertyOrFieldByName ("PropertyName"); –
Vishal