有什么办法可以让我完成这项工作吗?不起作用的部分以粗体显示。本质上,我试图找出一种方法让它按作为字符串传递的 sortColumn 进行排序。它想要 o => o.Field 而不是 o.String。
internal List<Apps> GetAllApps(string sortColumn)
{
List<Apps> employeeList = new List<Apps>();
// Some database operations that fill employeeList
// with a bunch of objects from a database operations
if (!string.IsNullOrEmpty(sortColumn))
{
employeeList.OrderBy(o => **o.sortColumn** ).ToList();
}
return employeeList;
}
最佳答案
你可以尝试这样的事情:
var sortPropertyInfo = typeof(Apps).GetProperty(sortColumn);
employeeList
.OrderBy(o => sortPropertyInfo.GetValue(o, null))
.ToList();
可以添加一些健全性检查。或者,考虑使用 Dynamic LINQ .
关于c# - 以字符串形式按属性对对象进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20502051/