项目中的通用查询参数类,它体现了项目架构的大局观
/// <summary>
/// 自定义谓词
/// </summary>
public class VPredication : IEnumerable<KeyValuePair<string, object>>
{
Dictionary<string, object> dicv = null;
SpacePredication spacePredication = null;
/// <summary>
/// 区间谓词
/// </summary>
public SpacePredication SpacePredication { get { return this.spacePredication; } }
/// <summary>
/// 自定义区间 构造函数
/// </summary>
public VPredication()
{
spacePredication = new SpacePredication();
dicv = new Dictionary<string, object>();
}
/// <summary>
/// 验证键是否存在值
/// </summary>
/// <param name="index">键</param>
/// <returns>bool</returns>
public bool ContainsKey(string index)
{
return this.dicv.ContainsKey(index);
}
/// <summary>
/// 索引器
/// </summary>
/// <param name="index">索引值</param>
/// <returns>值</returns>
public object this[string index]
{
get
{
if (dicv.ContainsKey(index))
return dicv[index];
else
return null;
}
}
/// <summary>
/// 增加新项
/// </summary>
/// <param name="key">列枚举[只能接受非FLAG得单个枚举]</param>
/// <param name="extremumPair"></param>
public void AddItem(string key, object value)
{
this.dicv.Add(key, value);
}
/// <summary>
/// 移除制定 列枚举 的项
/// </summary>
/// <param name="key">列枚举[只能接受非FLAG得单个枚举]</param>
public void RemoveItem(string key)
{
this.dicv.Remove(key);
}
#region IEnumerable<KeyValuePair<string,object>> 成员
public IEnumerator<KeyValuePair<string, object>> GetEnumerator()
{
return this.dicv.GetEnumerator();
}
#endregion
#region IEnumerable 成员
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
{
return this.dicv.GetEnumerator();
}
#endregion
}
/// <summary>
/// 区间谓词
/// </summary>
public class SpacePredication : IEnumerable<KeyValuePair<string, ExtremumPair>>
{
Dictionary<string, ExtremumPair> dic = null;
/// <summary>
/// 区间谓词 构造函数
/// </summary>
public SpacePredication()
{
dic = new Dictionary<string, ExtremumPair>();
}
/// <summary>
/// 索引器
/// </summary>
/// <param name="index">索引值</param>
/// <returns>区间极值值对</returns>
public ExtremumPair this[string index]
{
get { return dic[index]; }
}
/// <summary>
/// 验证键是否存在值
/// </summary>
/// <param name="index">键</param>
/// <returns>bool</returns>
public bool ContainsKey(string index)
{
return this.dic.ContainsKey(index);
}
/// <summary>
/// 增加新项
/// </summary>
/// <param name="_enum">列枚举[只能接受非FLAG得单个枚举]</param>
/// <param name="extremumPair"></param>
public void AddItem(string key, ExtremumPair extremumPair)
{
this.dic.Add(key, extremumPair);
}
/// <summary>
/// 移除制定 列枚举 的项
/// </summary>
/// <param name="key">列枚举[只能接受非FLAG得单个枚举]</param>
public void RemoveItem(string key)
{
this.dic.Remove(key);
}
#region IEnumerable<KeyValuePair<string,ExtremumPair>> 成员
public IEnumerator<KeyValuePair<string, ExtremumPair>> GetEnumerator()
{
return this.dic.GetEnumerator();
}
#endregion
#region IEnumerable 成员
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
{
return this.dic.GetEnumerator();
}
#endregion
}
/// <summary>
/// 区间极值值对
/// </summary>
public class ExtremumPair
{
object leftValue, rightValue;
/// <summary>
/// 左极值
/// </summary>
public object LeftValue { get { return leftValue; } }
/// <summary>
/// 右极值
/// </summary>
public object RightValue { get { return rightValue; } }
/// <summary>
/// 区间极值值对 构造函数
/// </summary>
/// <param name="leftValue">左极值</param>
/// <param name="rightValue">右极值</param>
public ExtremumPair(object leftValue, object rightValue)
{
this.leftValue = leftValue;
this.rightValue = rightValue;
}
}
/// <summary>
/// 通用分页参数
/// </summary>
public class PagingParam
{
int pageSize = 10;
int pageIndex = 1;
int pageTotal = -1;
/// <summary>
/// 页面大小
/// </summary>
public int PageSize { get { return pageSize; } }
/// <summary>
/// 页码
/// </summary>
public int PageIndex { get { return pageIndex; } }
public int PageTotal { get { return pageTotal; } }
/// 构造函数
/// </summary>
public PagingParam()
{
}
/// <summary>
/// 通用分页参数结构 构造函数
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">页面大小</param>
public PagingParam(int pageIndex, int pageSize)
{
this.pageIndex = pageIndex;
this.pageSize = pageSize;
this.pageTotal = PageSize;
}
public PagingParam(int pageIndex, int pageSize, int pageTotal)
{
this.pageIndex = pageIndex;
this.pageSize = pageSize;
this.pageTotal = pageTotal;
}
}
本文转自博客园张占岭(仓储大叔)的博客,原文链接:项目中的通用查询参数类,它体现了项目架构的大局观,如需转载请自行联系原博主。
项目中的通用查询参数类,它体现了项目架构的大局观相关推荐
- Android项目中常用的工具类集(史上最全整理)
如果你是一名有经验的Android开发者,那么你一定积累了不少的工具类,这些工具类是帮助我们快速开发的基础.如果你是新手,那么有了这些辅助类,可以让你的项目做起来更加的简单. 下面介绍一个在GitHu ...
- Entity Framework 的小实例:在项目中添加一个实体类,并做插入操作
Entity Framework 的小实例:在项目中添加一个实体类,并做插入操作 Entity Framework 的小实例:在项目中添加一个实体类,并做插入操作 1>. 创建一个控制台程序 2 ...
- Android项目中最火最常用的优秀开源项目(很有用)
Android项目中最火最常用的优秀开源项目 分类 详细 框架名称 简介 Star 数 最近 更新 UI 刷新 SmartRefreshLayout Android 智能下拉刷新框架 7.7k 1天 ...
- 在项目中谨慎为系统类添加分类!!!!!
结论: 1.坚决杜绝为系统类做方法交换(见到[class_replaceMethod]格杀勿论!) 2.为系统类添加分类时候,属性和方法名必须加上[世上独一无二]的前缀,避免冲突和混淆. 之所以让我对 ...
- qt项目中的某一个类的输出中文信息乱码,其它类中文输出正常
问题描述 qtcreate5.13.2中整个项目中通过添加头文件,使用qDebug()输出中文打印信息,输出中文都是正常的,但是有一个类的输出中文是乱码. 解决方法 修改该类的编码格式.由于项目默认采 ...
- Swift项目中不能定义OC类继承Swift类
2019独角兽企业重金招聘Python工程师标准>>> 报错原因 Swift项目中 OC文件类 继承 Swift文件类 Cannot subclass a class with ...
- SpringMVC,MyBatis项目中兼容Oracle和MySql的解决方案及其项目环境搭建配置、web项目中的单元测试写法、HttpClient调用post请求等案例
要搭建的项目的项目结构如下(使用的框架为:Spring.SpingMVC.MyBatis): 2.pom.xml中的配置如下(注意,本工程分为几个小的子工程,另外两个工程最终是jar包): 其中 ...
- 项目中的难点怎么克服_克服大型项目中的文档挑战
项目中的难点怎么克服 鉴于最近熊猫( Pandas) ,NumPy和Matplotlib等开放源数据科学项目的普及Swift增长,人们对文档的兴趣日益浓厚 ,这不足为奇. 为了帮助您了解所面临的问题, ...
- 项目中使用粘性布局不起作用_项目中的 Git 使用规范
祖师爷 Linus 在创造了伟大的 Linux 之后,又创造了应用最广泛的代码管理工具 -- Git,极大地提高了程序员的生产力. 现如今大部分项目都在使用 Git 作为代码管理工具,不论是在代码管理 ...
- vue 项目中使用粘性布局不起作用_vue项目中常见问题及解决方案
webpack项目中自动引入全局scss变量文件 假设我们有一个公共的scss变量文件variables.scss /*存放所有全局变量*/$card-title:#C7D200; //首页 卡片标题 ...
最新文章
- 【面向对象编程】(1) 类实例化的基本方法
- 关于域的的一些遐想(一)
- pagerslidingtabstrip 横向滑动
- python signal模块的使用(自定义超时异常)
- 【Python基础】本地利用ssh远程连接服务器并启用远程服务器的jupyter lab并配置好anaconda的环境...
- Spring JSR-250 注释
- 18-Gm-TransH:Group-Constrained Embedding of Multi-fold Relations in Knowledge Bases,嵌入,transH,n-ary
- Windows XP解决显示桌面图标消失的问题
- 【社会/人文】概念的理解 —— 断舍离、饭(饭制版)
- C#正则表达式小结 - z
- 打印机服务器不支持1020,HP1020打印机驱动安装不上的解决办法
- JSP文件的中文在浏览器上显示乱码解决方法
- 50款PS完美汉化插件一键安装,win+mac
- Python实现简易语音转文字功能模块
- phpstuday2018下载
- 世界名牌CD机解码芯片大全
- Julia会是超越Python的存在吗
- 一文入门JavaScript
- Beautiful爬取海词网词汇意思和短语
- OneTab插件的替代产品-OneTab Pro