产品需求来产生技术提升,产品要求灵活的根据前端传过来的字段来进行可配置的排序,Orderby( e => e.?)
orderby方法中是传递一个委托方法,返回一个Object对象,默认就是我们进行排序的属性字段值,所以我们也可以灵活使用这块委托方法,只要能返回对应属性的值就可以让这个表达式成立。
我们可以通过反射,将传过来的参数变量动态获取该属性的值,然后返回给表达式,就能达到原来orderby的效果了。实现代码如下
class Program { public static void Main(string[] args) { List<Employee> data = new List<Employee>() { new Employee()