Лямбда-параметр не находится в области видимости - при создании двоичного лямбда-выражения

При создании лямбда-выражения вручную я получаюПараметр не находится в области видимости исключение.

Есть идеи, что я делаю не так?

 public class OtherType
    {
        public string First_Name { get; set; }
        public string Last_Name { get; set; }

    }
    static void Main(string[] args)
        {

          Expression l2 = 
                p => p.First_Name == "Bob";
            l2.Compile();  // Works 


            PropertyInfo property = 
                typeof(OtherType).GetProperty("First_Name");

            ParameterExpression para = 
                Expression.Parameter(typeof(OtherType), "para");

            ConstantExpression right = 
                Expression.Constant("Bob", typeof(string));

            MemberExpression left = 
                Expression.Property(Expression.Parameter(typeof(OtherType), "para"), property);

            BinaryExpression binary = 
                Expression.MakeBinary(ExpressionType.Equal, left, right);

            Expression l = 
                Expression.Lambda(binary, new ParameterExpression[] { para });

            l.Compile(); // Get a 'Lambda Parameter not in scope' exception

}

Ответы на вопрос(1)

Ваш ответ на вопрос