7
손으로 람다 식을 만들 때 '매개 변수가 범위에 들어 가지 않습니다'예외가 발생합니다.람다 매개 변수가 범위에 있지 않습니다. 이진 람다 식을 구축하는 동안
내가 뭘 잘못하고 있는지에 대한 아이디어가 있습니까?
public class OtherType
{
public string First_Name { get; set; }
public string Last_Name { get; set; }
}
static void Main(string[] args)
{
Expression<Func<OtherType, bool>> 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<Func<OtherType, bool>> l =
Expression.Lambda<Func<OtherType, bool>>(binary, new ParameterExpression[] { para });
l.Compile(); // Get a 'Lambda Parameter not in scope' exception
}
마침내 무엇이 잘못되고 있는지 깨닫기 위해 이것을 12 번 읽어야했습니다. 감사합니다 존 : D –
3 년 후 : 많은 감사 !!! :) – schglurps