목록의 가치를 얻고 싶습니다. 이 같은 나의 방법 :C에서 Reflection을 사용하여 Expression의 Object.Value를 얻는 방법 #
private void predicateTest(Expression<Func<bool>> predicate)
{
var body = predicate.Body;
var binaryExpression = body as BinaryExpression;
var binaryBody= binaryExpression ??
Expression.MakeBinary(ExpressionType.Equal,
body, Expression.Constant(true));
var left = binaryBody.Left;
}
그리고 내 전화 : 그림을 다음과 같은
List<string> list = new List<string> { "doc", "exe", "jpg" };
predicateTest(() => list.Contains("sdf"));
그리고 predicate.Body.Left 값입니다. predicateTest 메서드에서 목록의 값을 프로그래밍 방식으로 가져 오는 방법은 무엇입니까?
당신은 (표현 방문자) (https://msdn.microsoft.com/en-us/library/system.linq.expressions.expressionvisitor (v = vs.110) .aspx)를 원할 것입니다. . 스택 오버플로에 대한 예제를 찾을 수 있습니다. –
감사합니다. 나는 연구 할 것이다. –