2011-08-23 6 views
2
내가 LINQ 식을 가지고

,Linq 표현식, 매개 변수 가져 오기?

internal T Execute<T>(System.Linq.Expressions.Expression<Func<int, string, T>> expr) 
{ 
    var paramInt = ??; 
    var paramString = ??; 
} 

나는이를 사용하여이 메소드를 호출

Expression<Func<int, string, Guid>> myExpression2 = (a,b) => Callmethod(a, b, 5); 

Execute<Guid>(myExpression2); 

어떻게 내가 내 실행 방법에 식의 매개 변수를 얻을 수 있나요?

은 - 명확히하기 위해 - 나는 내가 그들과 함께 몇 가지 계산을 할 수 있도록 매개 변수의 값을 얻으려면

.

답변

3

글쎄, Parameters 속성을 사용하여 매개 변수를 가져올 수 있습니다.

var parameters = expr.Parameters; 

그러나 이들 각각은 ParameterExpression입니다. 이렇게하면 매개 변수 이름과 유형이 표시되지만 원하는 매개 변수 이름과 유형이 명확하지 않습니다.

+0

매개 변수 값을 가져와 일부 계산을 수행하려고합니다. – Patrick

+0

@ 패트릭 : 매개 변수에는 * 값이 없습니다 * 매개 변수 *입니다. 메소드 매개 변수의 값이 무엇인지 묻는 것과 같습니다. 호출 될 때 값만 있습니다. –

+0

@ 존, 나는 그가 표현식 내에서 전달 된 값을 추출하려고한다고 생각합니다. –

관련 문제