代码改变世界

Expression

2020-04-25 10:30  qgbo  阅读(393)  评论(0编辑  收藏  举报

Expression 是一个数据结构! 怎么是数据结构呢?列表,堆  栈等是数据结构,结构体是数据结构,类也是数据结构。其实这里说的数据结构,具体来说是一个类。Expression常用的是一个泛型类,这里的泛型是Func的委托。

写的 new List<Person>().AsQuerible().where(.....),这个参数会被处理为一个类,也就是个Expression 的委托泛型类。一个方法,只能接收实例作为参数,这里是new Expression<Func<...>>

同样的匿名方法的委托,也是一个类。这种Lamda 表达式的用法,实际传入的是这个委托的实例。