Как динамически создавать групповые списки словарей
Я пытаюсь выполнить группового на IEnumerable. Проблема в том, что я не знаю во время компиляции, какие поля я хочу группировать. я нашелдругой пост в стеке, который объясняет, как это сделать, когда класс известен и имеет свойства, но в моем случае я имею дело со словарем, а ключи также известны только во время выполнения.
Мой код будет выглядеть примерно так (я знаю, что это не компилируется ...):
private object GetValuesGroupedBy(List<string> groupbyNames, List<string> summableNames)
{
// get the list of items in the grid
var listOfDicos = grid.AllItems;
return listOfDicos
.GroupBy(x => new { x[groupbyNames[0]],
x[groupbyNames[1]],
x[groupbyNames[2]] })
.Select(group => new { group.Key,
group.Sum(x => x[summableNames[0]]),
group.Sum(x => x[summableNames[1]]) });
}
Есть идеи? Я начал изучать Dynamic LINQ, но застрял (потому что я использую не свойства, а коллекцию ключей / значений) ...
Спасибо всем!!
Шон