0
열거 형 유형에 대해 일련의 GroupBy 메소드를 궁극적으로 호출하는 표현식 트리를 생성하려고합니다. 이 같은 간단한 형태에서Enumerable.GroupBy에 Linq.Expression을 작성하는 데 도움이 필요합니다.
내가 시도하고 뭔가 :
IEnumerable<Data> list = new List<Data>{new Data{Name = "A", Age=10},
new Data{Name = "A", Age=12},
new Data{Name = "B", Age=20},
new Data{Name="C", Age=15}};
Expression data = Expression.Parameter(typeof(IEnumerable<Data>), "data");
Expression arg = Expression.Parameter(typeof(Data), "arg");
Expression nameProperty = Expression.PropertyOrField(arg, "Name");
Expression group = Expression.Call(typeof(Enumerable), "GroupBy", new Type[] { typeof(Data), typeof(string) }, data, nameProperty);
호출 끝에 Expression.Call 할 던졌습니다 "어떤 방법 유형에 'GROUPBY' 'System.Linq.Enumerable'는 호환되지 않습니다 주장했다. "
나는 유사한 방법으로 Enumerable.OrderBy
과 비슷한 방식으로 성공적으로 수행하고 있으며 문제가 있습니다.
도움을 주시면 감사하겠습니다.
. 고맙습니다 – dkackman