c#扩展函数
分页
public static class IEnumerableExt
{
public static (IEnumerable<T> dataAfterPaging, Pageinfo pageinfo) Paging<T>(this IEnumerable<T> list, int PageIndex, int PageSize)
{
return
(list.Skip(PageSize * (PageIndex - )).Take(PageSize), new Pageinfo()
{
PageIndex = PageIndex,
PageSize = PageSize,
TotalRecords = list.Count(),
TotalPages = (list.Count() + PageSize - ) / PageSize
}
);
}
}
对象的相同属性赋值
public static class ObjectExt
{
// <summary>
/// 给对象赋值的方法(不赋地址),含过滤
/// </summary>
/// <typeparam name="T"><peparam>
/// <param name="left">=号左边</param>
/// <param name="right">=号右边</param>
/// <param name="id">过滤条件</param>
public static void Assignment<T, V>(this Object value, T left, V right, string id = null)
{
Type rightType = right.GetType();
Type leftType = left.GetType();
List<PropertyInfo> pList = rightType.GetProperties(BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.Instance).ToList();
for (int i = ; i < pList.Count; i++)
{
//根据属性名获得指定的属性对象
PropertyInfo leftPropertyInfo = leftType.GetProperty(pList[i].Name);
//设置属性的值
if (id != null)
{
if (pList[i].Name != id)
{
leftPropertyInfo.SetValue(left, pList[i].GetValue(right, null), null);
}
}
else
{
leftPropertyInfo.SetValue(left, pList[i].GetValue(right, null), null);
} }
}
}
c#扩展函数的更多相关文章
- golang struct扩展函数参数命名警告
今天在使用VSCode编写golang代码时,定义一个struct,扩展几个方法,如下: package storage import ( "fmt" "github.c ...
- 前端学PHP之mysql扩展函数
× 目录 [1]连接数据库 [2]使用数据库 [3]执行SQL查询[4]操作结果集[5]关闭连接 前面的话 mysql由于其体积小.速度快.总体拥有成本低,尤其是具有开放源码这一特点,许多中小型网站为 ...
- 用Kotlin开发Android应用(III):扩展函数和默认值
这是关于Kotlin的第三篇. 原文标题:Kotlin for Android (III): Extension functions and default values 原文链接:http://an ...
- C#ASP.NET 通用扩展函数之 LogicSugar 简单好用
说明一下性能方面 还可以接受 循环1000次普通Switch是用了0.001秒 ,扩展函数为0.002秒 , 如果是大项目在有负载均衡的情况下完全可以无视掉,小项目也不会计较这点性能了. 注意需要引 ...
- C#ASP.NET 通用扩展函数之 IsWhat 简单好用
好东西都需要人去整理.分类 注意:需要引用命名空间 SyntacticSugar 用法: /***扩展函数名细***/ //[IsInRange] int num = 100; //以前写法 if ( ...
- 一个Linq表达式的扩展函数帮助类
/// <summary> /// Linq表达式的扩展函数 /// </summary> public static class ExpressionExtensions { ...
- jquery扩展函数详解(我的人生颠覆)
作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可. 上次分析了jquery的源码 ...
- 使用WSAIoctl获取socket扩展函数(如AcceptEx)的指针
未获取函数指针就调用函数(如直接连接mswsock.lib并直接调用AcceptEx)的消耗是很大的,因为AcceptEx 实际上是存在于Winsock2结构体系之外的.每次应用程序常试在服务提供层上 ...
- PHP的MySQL扩展:PHP访问MySQL的常用扩展函数
来源:http://www.ido321.com/1024.html 一.PHP连接数据库及基本操作 MySQL采用的是’客户机/服务器’架构.使用PHP安装的MySQL扩展函数,和直接使用客户端软件 ...
- ThinkPHP第十九天(Ueditor高亮插件、扩展函数载入load、静态缓存)
1.使用Ueditor编辑器,插入代码后,显示的时候高亮显示,需要调用Ueditor中的第三方插件third-party中的SyntaxHighlighter 调用方法: 引入CSS和JS文件,并调用 ...
随机推荐
- BZOJ.4319.[cerc2008]Suffix reconstruction(后缀数组 构造 贪心)
题目链接 \(Description\) 给定SA数组,求满足SA[]的一个原字符串(每个字符为小写字母),无解输出-1. \(Solution\) 假设我们现在有suf(SA[j]),要构造suf( ...
- DO-214 SMA、SMB、SMC封装
DO-214 is a standard that specifies a group of semiconductor packages for surface mounted diodes. Th ...
- 【linux】linux修改open file 大小
使用下面命令可以查看openfile数量 ulimit -a linux修改open file 大小,修改步骤如下: 1>修改file-max 修改文件: vi /etc/sysctl.conf ...
- yolov3源码darknet在vscode下调试
1. 安装配置: https://pjreddie.com/darknet/yolo/ darknet文件夹下make命令搞定: 2. 配置vscode 打开安装好的vscode并安装扩展C/C++( ...
- python的匿名函数lambda解释及用法
lambda函数的语法只包含一个语句,如下: lambda arg1,arg2,.....argn:expression(主要是看下面的例子)代码示例: #-*- coding:utf-8 -* ...
- Windows下Phalcon的安装以及phpstorm识别phalcon语法及提示
1.由于Phalcon是C语言写的一个扩展,所以需要安装这个扩展php_phalcon.dll,下载地址https://github.com/phalcon/cphalcon/releases, 然后 ...
- MSSQL存储过程
存储过程的种类: 1.系统存储过程. 以sp_开头 2.扩展存储过程. 以xp_开头 3.用户定义存储过程. --重新编译存储过程 exec ...
- [Python设计模式] 第10章 怎么出试卷?——模版方法模式
github地址:https://github.com/cheesezh/python_design_patterns 题目 小时候数学老师的随堂测验,都是老师在黑板上写题目,学生在下边抄,然后再做题 ...
- 国内混合APP开发技术选型
http://www.sunzhongwei.com/weex-react-native-ionic-technology-selection 选谁? 企业级应用是要考虑性能和流畅度的, 如果只是做个 ...
- 【H5动画】谈谈canvas动画的闪烁问题
一般来说,在H5开发中,使用canvas往往只是为了展示一些简单的图表或者简单短小的动画,很少考虑到有闪烁的问题. 最近,在手机QQ魔法表情的项目中,就遇到了奇葩的闪烁问题. 这里说的闪烁,是指动画刚 ...