前面介绍了查询的基础扩展,下面准备给大家介绍一些有用的查询封装手法,比如对日期范围查询,数值范围查询的封装等,为了支持这些功能,需要增强公共操作类。 Lambda表达式公共操作类,我在前面已经简单介绍过,要么从Lambda表达式中获取信息,要么动态创建Lambda表达式,本篇直接贴代码 ...
上一篇对Lambda表达式公共操作类进行了一些增强,本篇使用扩展方法对Lambda表达式进行扩展。 修改Util项目的Extensions.Expression.cs文件,代码如下。 在Util项目中添加Operator枚举,代码如下。 找到Util.Tests测试项目,修改Extensions目录下的ExpressionExtensionTest,代码如下。 需要注意的是,如果需要合并表达式, ...
2015-01-06 18:32 4 1602 推荐指数:
前面介绍了查询的基础扩展,下面准备给大家介绍一些有用的查询封装手法,比如对日期范围查询,数值范围查询的封装等,为了支持这些功能,需要增强公共操作类。 Lambda表达式公共操作类,我在前面已经简单介绍过,要么从Lambda表达式中获取信息,要么动态创建Lambda表达式,本篇直接贴代码 ...
前一篇扩展了两个常用验证方法,本文将封装两个Lambda表达式操作,用来为下一篇的查询扩展服务。 Lambda表达式是一种简洁的匿名函数语法,可以用它将方法作为委托参数传递。在Linq中,大量使用Lambda表达式进行查询,不过这种Lambda表达式被Expression包装成表达式树 ...
应用程序框架公共操作类(八):Lambda表达式公共操作类(二)。 面对GetValue杂乱无章的代码,我 ...
本篇介绍的表达式生成器,用于动态创建表达式。 在Util项目Lambdas目录中,添加ExpressionBuilder,代码如下。 在Util.Tests测试项目中,添加ExpressionBuilderTest单元测试,代码 ...
前面介绍了仓储的基本操作,下面准备开始扩展查询,在扩展查询之前,首先要增加两个公共操作类,一个是经常要用到的验证方法,另一个是Lambda表达式的操作类。 很多时候,我们会判断一个对象是否为null,由于null是一个不能接受的值,它会导致“未将对象引用设置到对象的实例”的严重错误 ...
当你使用可空的值类型时,你会发现取值很不方便,比如Guid? obj,你要从obj中获取值,可以使用Value属性obj. Value,但obj可能为null,这时候就会抛出一个异常。 可空 ...
上一篇以TDD方式介绍了数据类型转换公共操作类的开发,并提供了单元测试和实现代码,本文将演示通过扩展方法来增强公共操作类,以便调用时更加简化。 下面以字符串转换为List<Guid>为例进行讨论。 观察上面的代码,它确实已经被封装起来了,通过一个明确 ...
任何系统都需要处理错误,本文介绍的异常公共操作类,用于对业务上的错误进行简单支持。 对于刚刚接触.Net的新手,碰到错误的时候,一般喜欢通过返回bool值的方式指示是否执行成功。 不过上面的方法有一个问题是,无法知道确切的错误原因,所以需要添加一个out参数来返回错误 ...