摘要: 上回我们说到手工解析Expression Tree,以便获得其中的逻辑或者执行我们自定义的语义动作。这种做法扩展了C#语言的威力,让我们可以用C#的语法来做更多的事情,例如Linq to Sql。今天我们要学习一种相反的做法,手工创建表达式树,然后让.NET来解析它。这是一种强大的动态编程手段。我们可以用它来完成许多以前需要Reflection.Emit才能完成的任务。LambdaExpressi... 阅读全文
posted @ 2010-05-18 14:56 周宏伟 阅读(312) 评论(0) 推荐(0)
摘要: 作为 Delegate 的更深度进化,Lambda 让我们的代码显得更加简洁和优雅,但同时也面临一个问题,就是如何依据外部条件动态构建一个 Lambda 表达式。或许你会奇怪这个需求是如何产生的…… 首先,Lambda 在 DLinq 中承担了以往 T-SQL 的部分角色;其次,在数据库设计中,我们往往需要依据外部未知的动态条件组合来查询数据。而问题在于作为一种静态语言... 阅读全文
posted @ 2010-05-18 09:04 周宏伟 阅读(982) 评论(0) 推荐(0)