前一篇扩展了两个常用验证方法,本文将封装两个Lambda表达式操作,用来为下一篇的查询扩展服务。 Lambda表达式是一种简洁的匿名函数语法,可以用它将方法作为委托参数传递。在Linq中,大量使用Lambda表达式进行查询,不过这种Lambda表达式被Expression包装成表达式树 ...
今天在开发一个简单查询时,发现我的Lambda操作类的GetValue方法无法正确获取枚举类型值,以至查询结果错误。 我增加了几个单元测试来捕获错误,代码如下。 单元测试成功捕获了Bug,我打开Lambda操作类,准备修改GetValue方法,代码见Util应用程序框架公共操作类 八 :Lambda表达式公共操作类 二 。 面对GetValue杂乱无章的代码,我顿时感觉无法下手,必须彻底重构它。 ...
2015-01-24 02:22 6 3406 推荐指数:
前一篇扩展了两个常用验证方法,本文将封装两个Lambda表达式操作,用来为下一篇的查询扩展服务。 Lambda表达式是一种简洁的匿名函数语法,可以用它将方法作为委托参数传递。在Linq中,大量使用Lambda表达式进行查询,不过这种Lambda表达式被Expression包装成表达式树 ...
前面介绍了查询的基础扩展,下面准备给大家介绍一些有用的查询封装手法,比如对日期范围查询,数值范围查询的封装等,为了支持这些功能,需要增强公共操作类。 Lambda表达式公共操作类,我在前面已经简单介绍过,要么从Lambda表达式中获取信息,要么动态创建Lambda表达式,本篇直接贴代码 ...
上一篇对Lambda表达式公共操作类进行了一些增强,本篇使用扩展方法对Lambda表达式进行扩展。 修改Util项目的Extensions.Expression.cs文件,代码如下。 在Util项目中添加Operator枚举,代码 ...
本篇介绍的表达式生成器,用于动态创建表达式。 在Util项目Lambdas目录中,添加ExpressionBuilder,代码如下。 在Util.Tests测试项目中,添加ExpressionBuilderTest单元测试,代码 ...
任何系统都需要处理错误,本文介绍的异常公共操作类,用于对业务上的错误进行简单支持。 对于刚刚接触.Net的新手,碰到错误的时候,一般喜欢通过返回bool值的方式指示是否执行成功。 不过上面的方法有一个问题是,无法知道确切的错误原因,所以需要添加一个out参数来返回错误 ...
为了能够验证领域实体,需要一个验证公共操作类来提供支持。由于我将使用企业库(Enterprise Library)的验证组件来完成这项任务,所以本文也将演示对第三方框架的封装要点。 .Net提供了一个称为DataAnnotations的验证技术,即在对象的属性上添加一些Attribute ...
上一篇以TDD方式介绍了数据类型转换公共操作类的开发,并提供了单元测试和实现代码,本文将演示通过扩展方法来增强公共操作类,以便调用时更加简化。 下面以字符串转换为List<Guid>为例进行讨论。 观察上面的代码,它确实已经被封装起来了,通过一个明确 ...
文章——应用程序框架实战十二:公共操作类开发技巧(初学者必读)。 封装公共操作类,不仅要把技术上 ...