using System.Linq.Expressions;
public static void Main()
var parameter = Expression.Parameter(typeof(Bar), "a");
var bazProp = typeof(Bar).GetProperty(nameof(Bar.Baz));
var body = Expression.GreaterThan(
Expression.MakeMemberAccess(parameter, bazProp),
Expression.Constant(55));
Expression<Func<Bar, bool>> foo2
= Expression.Lambda<Func<Bar, bool>>(body, new[] { parameter });
public int Baz { get; set; }