如果您不使用数据库,则可以使用Reflection:
private static object GetPropertyValue(object obj, string propertyName){ return obj.GetType().GetProperty(propertyName).GetValue(obj, null);}用作:
var grouped = enumeration.GroupBy(x => GetPropertyValue(x, columnName));
这是一个非常原始的解决方案,更好的方法应该是使用Dynamic
LINQ:
var grouped = enumeration.GroupBy(columnName, selector);
编辑 动态 LINQ可能需要一些解释。它不是技术,库或全新的框架。它只是几个方便的(2000
LOC)帮助程序方法的名称,使您可以编写此类查询。只需下载它们的源代码(如果未安装VS示例),然后在代码中使用它们即可。



