2009-05-12 4 views
3

에 대한 대체가 아닌 일반 람다 표현식 나는 코드의이 라인을 가지고 : TEntityType는 일반적인 PARM이다LINQ 일반 람다 식

var predicate = Expression.Lambda<Func<TEntityType, bool>>(body, param); 

.

그러나 일반 매개 변수를 사용할 수 없습니다. 나는 가지고있다 :

Type _EntityType; 

이 경우의 일반적인 구문은 무엇입니까?

감사

당신은 그냥 과부하를 호출하기 전에 동적 유형을 만들 필요가 있으므로, 표현의 몸의 형태를 취 Expression.Lambda에 대한 과부하가있다

답변

8

.

type lambdaType = typeof(Func<,>).MakeGenericType(_EntityType, typeof(bool)); 

var predicate = Expression.Lambda(lambdaType, body, param); 
+0

좋아요 ... 감사합니다. 컴파일러는이 구문을 허용합니다. – theBruce

+0

감사합니다. 매우 도움이됩니다. –