private Tuple <MemberExpression, Expression> CreatePair(ReadOnlyCollection <Expression> arguments) { var p = ((ConstantExpression)arguments[1]).Value; var s = ((ConstantExpression)arguments[2]).Value; if (p is string) { p = ExpressionHelper.PathToExpression(typeof(T), p.ToString()); } var pBody = (p as LambdaExpression)?.Body ?? (Expression)p; if (!ExpressionHelper.CheckMemberAccess(typeof(T), pBody)) { return(null); } return(Tuple.Create((MemberExpression)pBody, ((LambdaExpression)s).Body)); }