подобного вида
public void Value<TIn, TResult>(
TIn valueObject,
Expression<Func<TIn, TResult>> action)
{
var expression = (MemberExpression) action.Body;
string fieldName = expression.Member.Name;
TResult value = action.Compile()(valueObject);
//Делаем что-нибудь полезное
}
Вам нечто подобное нужно : class Foo { public int Value { get; set; } public Expression<Func<Foo, int>> Bar() { var parameterExpression = Expression.Parameter(typeof(Foo), "x"); return Expression.Lambda<Func<Foo, int>>( body: Expression.Property( expression: parameterExpression, propertyAccessor: (MethodInfo) MethodBase.GetMethodFromHandle(ldtoken(get_Value()))), parameters: new ParameterExpression[] { parameterExpression }); } }
а зачем?
Обсуждают сегодня