List<T> GetDataOrder<T>(List<T> data, string orderbyname, string Type) where T : class
{
var properties = typeof(T).GetProperties();
foreach (var v in properties)
{
if (v.Name.ToUpper()==orderbyname.ToUpper())
{
if (Type == "asc")
{
// return data.OrderBy(x => x.GetType().GetProperty(v.Name).GetValue(x, null)).ToList();
return data.OrderBy(x =>v.GetValue(x, null)).ToList();
}
else
{
// return data.OrderByDescending(x => x.GetType().GetProperty(v.Name).GetValue(x, null)).ToList();
return data.OrderByDescending(x => v.GetValue(x, null)).ToList();
}
}
}
return data;
}
其实写的可以更精简,不过都写了,懒得删了,只是看看自己的思考过程