导航

目   录:Farseer.net轻量级开源框架 目录

上一篇:Farseer.net轻量级开源框架 中级篇: BasePage、BaseController、BaseHandler、BaseMasterPage、BaseControls基类使用

下一篇:Farseer.net轻量级开源框架 中级篇: 常用工具

  在使用框架的时候,都需要引用扩展方法的命名空间:using FS.Extend;

         /// <summary>
/// 将值转换成类型对像的值(此方法作为公共的调用,只支持单值转换)
/// </summary>
/// <param name="objValue">要转换的值</param>
/// <param name="objType">要转换的值类型</param>
/// <param name="defType">转换失败时,代替的默认值类型</param>
/// <returns></returns>
private static object ConvertType(object objValue, Type objType, Type defType)

  作者在写代码的时候,最常用的到的方法就属ConvertType了。可以将任意的基本类型转到新的基本类型中。比如将"1"转成1 ,将"true"转成true等等。太实用了。

         /// <summary>
/// 结果为True时,输出参数
/// </summary>
/// <param name="b">判断源结果</param>
/// <param name="t">输出值</param>
public static T IsTrue<T>(this bool b, T t)

  当为true时,返回传入的结果。可以代替: true ? "xxxx" : "" 这种尴尬的写法。

         /// <summary>
/// 获取中文
/// </summary>
/// <param name="b"></param>
/// <param name="strTrue">为True时的中文:是</param>
/// <param name="strFalse">为False时的中文:否</param>
/// <returns></returns>
public static string GetName(this bool b, string strTrue = "是", string strFalse = "否")

  拿到bool结果时,有时候我们希望是:true ? "对" : "错" 这种方式。

         /// <summary>
/// 对DataTable排序
/// </summary>
/// <param name="dt">要排序的表</param>
/// <param name="sort">要排序的字段</param>
public static DataTable Sort(this DataTable dt, string sort = "ID DESC")

  对DataTable经常操作的朋友,对它的排序是不是很麻烦呢?这里用到的是克隆后的结果哦。

         /// <summary>
/// 对DataTable分页
/// </summary>
/// <param name="dt">源表</param>
/// <param name="pageSize">每页显示的记录数</param>
/// <param name="pageIndex">页码</param>
/// <returns></returns>
public static DataTable Split(this DataTable dt, int pageSize = , int pageIndex = )

  对DataTable分页,也是很实用的。

         /// <summary>
/// DataTable转换为实体类
/// </summary>
/// <param name="dt">源DataTable</param>
/// <typeparam name="T">实体类</typeparam>
public static List<TResult> ToList<TResult>(this DataTable dt) where TResult : ModelInfo, new()

  将DataTable转化成List<实体>。

         /// <summary>
/// 获取枚举中文
/// </summary>
/// <param name="eum">枚举值</param>
public static string GetName(this Enum eum)

  得到枚举值的中文显示

         /// <summary>
/// 获取枚举列表
/// </summary>
public static Dictionary<int, string> ToDictionary(this Type enumType)

  可以将枚举的所有元素转成字典

        /// <summary>
/// IDataReader转换为实体类
/// </summary>
/// <param name="reader">源IDataReader</param>
/// <typeparam name="T">实体类</typeparam>
public static List<T> ToList<T>(this IDataReader reader) where T : ModelInfo /// <summary>
/// 数据填充
/// </summary>
/// <param name="reader">源IDataReader</param>
/// <typeparam name="T">实体类</typeparam>
public static T ToInfo<T>(this IDataReader reader) where T : ModelInfo, new()

  将IDataReader转成List<实体>或者 单个实体

         /// <summary>
/// 数据分页
/// </summary>
/// <typeparam name="TSource">实体</typeparam>
/// <param name="source">源对像</param>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页大小</param>
public static IQueryable<TSource> Split<TSource>(this IQueryable<TSource> source, int pageSize = , int pageIndex = )

  对List进行分页

         /// <summary>
/// 将List转换成字符串
/// </summary>
/// <param name="lst">要拼接的LIST</param>
/// <param name="sign">分隔符</param>
public static string ToString(this IEnumerable lst, string sign = ",")

  对List<T>按照指定分隔符拼接成字符串。如"1,2,3,4"

         /// <summary>
/// 判断是否存在记录
/// </summary>
/// <param name="IDs">条件,等同于:o=> IDs.Contains(o.ID) 的操作</param>
public static bool IsHaving<TInfo>(this IEnumerable<TInfo> lst, List<int> IDs) where TInfo : ModelInfo, new()

  根据条件判断是否存在

         /// <summary>
/// 字段选择器
/// </summary>
/// <param name="select">字段选择器</param>
/// <param name="IDs">条件,等同于:o=> IDs.Contains(o.ID) 的操作</param>
/// <param name="lst">列表</param>
public static List<T> ToSelectList<TInfo, T>(this IEnumerable<TInfo> lst, Func<TInfo, T> select)

  投影出指定元素列表。

         /// <summary>
/// 将集合类转换成DataTable
/// </summary>
/// <param name="list">集合</param>
/// <returns></returns>
public static DataTable ToDataTable(this IList list)

  List<实体> 转 DataTable

         /// <summary>
/// 将任何数组转换成用符号连接的字符串
/// </summary>
/// <param name="obj">任何对像</param>
/// <param name="func">传入要在转换过程中要执行的方法</param>
/// <param name="sign">分隔符</param>
/// <typeparam name="T">基本对像</typeparam>
public static string ToString<T>(this T[] obj, string sign = ",", Func<T, string> func = null)

  对数组T[]按照指定分隔符拼接成字符串。如"1,2,3,4"

         /// <summary>
/// 直接返回分隔后的元素项
/// </summary>
/// <param name="arr">要分隔的字符串</param>
/// <param name="tag">分隔的标识</param>
/// <param name="index">元素下标</param>
/// <returns></returns>
public static string Split(this string arr, string tag, int index)

  根据指定字符串进行分隔,相当于"xxxx;xxx;".Split(";")[index]

         /// <summary>
/// 指定清除标签的内容
/// </summary>
/// <param name="str">内容</param>
/// <param name="tag">标签</param>
/// <param name="options">选项</param>
public static string ClearString(this string str, string tag, RegexOptions options = RegexOptions.None)

  使用正则清除符合规则的字符串。

         /// <summary>
/// 将字符串转换成List型
/// </summary>
/// <param name="str">要转换的字符串</param>
/// <param name="splitString">分隔符为NullOrEmpty时,则直接拆份为Char</param>
/// <param name="defValue">默认值(单项转换失败时,默认值为NullOrEmpty时,则不添加,否则替换为默认值)</param>
/// <typeparam name="T">基本类型</typeparam>
public static List<T> ToList<T>(this string str, T defValue, string splitString = ",")

  将字符串以指定的分隔符,转成List 比如 "1,2,3,4,5" 以 , 分隔转成List<int>

         /// <summary>
/// 删除指定最后的字符串(直到找到为止)
/// </summary>
/// <param name="str">要转换的字符串</param>
/// <param name="strChar">要删除的字符串</param>
public static string DelLastOf(this string str, string strChar)

  删除末尾的字符串。

         /// <summary>
/// 比较两者是否相等,不考虑大小写,两边空格
/// </summary>
/// <param name="str">对比一</param>
/// <param name="str2">对比二</param>
/// <returns></returns>
public static bool IsEquals(this string str, string str2)

  比较两者是否相等,不考虑大小写,两边空格

         /// <summary>
/// 是否不为Null或者Empty
/// </summary>
/// <param name="str">要判断的字符串</param>
public static bool IsHaving(this string str) /// <summary>
/// 是否为Null或者Empty
/// </summary>
/// <param name="str">要判断的字符串</param>
public static bool IsNullOrEmpty(this string str)

  判断值为空的情况

         /// <summary>
/// 对比开头字符是否一致
/// </summary>
/// <param name="str">原字符串</param>
/// <param name="value">要对比的字符串</param>
/// <returns></returns>
public static bool IsStartsWith(this string str, string value) /// <summary>
/// 对比开头字符是否一致
/// </summary>
/// <param name="str">原字符串</param>
/// <param name="value">要对比的字符串</param>
/// <returns></returns>
public static bool IsEndsWith(this string str, string value)

  不区别大小写

         /// <summary>
/// 分隔字符串
/// </summary>
/// <param name="str">字符串</param>
/// <param name="splitString">分隔符号</param>
/// <returns></returns>
public static string[] Split(this string str, string splitString = ",")

  支持字符串分隔符

         /// <summary>
/// 当NullOrEmpty,用新的字符串代替,否则用原来的。
/// </summary>
/// <param name="str">要检测的值</param>
/// <param name="newString">要替换的新字符串</param>
public static string WhileNullOrEmpty(this string str, string newString)

  当NullOrEmpty,用新的字符串代替,否则用原来的。 很多时候,有些值为null,但我们希望它为NULL时默认给与值。非NULL时,则不理会。

         /// <summary>
/// 数字格式化,将转换成1000,10
/// </summary>
public static string Format(this int number, bool isHaveTag = true, int len = )

  转换成金钱格式。

导航

目   录:Farseer.net轻量级开源框架 目录

上一篇:Farseer.net轻量级开源框架 中级篇: BasePage、BaseController、BaseHandler、BaseMasterPage、BaseControls基类使用

下一篇:Farseer.net轻量级开源框架 中级篇: 常用工具

广告时间

QQ群:116228666 (Farseer.net开源框架交流) 请注明:Farseer.Net

Farseer.Net是一款ORM框架 + 常用工具 + 扩展集合。

Farseer 意为:先知、预言家 通常在某些场合时,提供计谋、策略。也希望该框架能给大家提供最大化的便捷。

ORM:其英文全称是:Object(对象) Relational(关系) Mapping(映射)

Farseer.Net的目标是:快速上手、快速开发、简单方便。

 new User { ID = , Name = "张三" }.Insert()

Farseer.net轻量级开源框架 中级篇:常用的扩展方法的更多相关文章

  1. Farseer.net轻量级开源框架 中级篇:Cookies、Session、Request

    导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 中级篇: 探究ORM(Mapping) 下一篇:Farseer.net轻量级开源框架 中级篇 ...

  2. Farseer.net轻量级开源框架 中级篇:UrlRewriter 地址重写

    导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 中级篇: Cookies.Session.Request 下一篇:Farseer.net轻量 ...

  3. Farseer.net轻量级开源框架 中级篇:BasePage、BaseController、BaseHandler、BaseMasterPage、BaseControls基类使用

    导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 中级篇: UrlRewriter 地址重写 下一篇:Farseer.net轻量级开源框架 中 ...

  4. Farseer.net轻量级开源框架 中级篇:探究ORM(Mapping)

    导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 中级篇: SQL执行报告 下一篇:Farseer.net轻量级开源框架 中级篇: Cooki ...

  5. Farseer.net轻量级开源框架 中级篇:SQL执行报告

    导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 中级篇: 数据库切换 下一篇:Farseer.net轻量级开源框架 中级篇: 探究ORM(M ...

  6. Farseer.net轻量级开源框架 中级篇:事务的使用

    导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: Where条件的终极使用 下一篇:Farseer.net轻量级开源框架 中级篇: ...

  7. Farseer.net轻量级开源框架 中级篇:执行SQL语句

    导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 中级篇: 事务的使用 下一篇:Farseer.net轻量级开源框架 中级篇: DbFacto ...

  8. Farseer.net轻量级开源框架 中级篇:DbFactory数据工厂

    导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 中级篇: 执行SQL语句 下一篇:Farseer.net轻量级开源框架 中级篇: 数据绑定 ...

  9. Farseer.net轻量级开源框架 中级篇:数据绑定

    导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 中级篇: DbFactory数据工厂 下一篇:Farseer.net轻量级开源框架 中级篇: ...

随机推荐

  1. java8--网络编程(java疯狂讲义3复习笔记)

    重点复习一下网络通信和代理 java的网络通信很简单,服务器端通过ServerSocket建立监听,客户端通过Socket连接到指定服务器后,通信双方就可以通过IO流进行通信. 需要重点看的工具类:I ...

  2. 【bzoj2753】[SCOI2012]滑雪与时间胶囊

    #include<algorithm> #include<iostream> #include<cstdlib> #include<cstring> # ...

  3. 设计模式-(17)策略模式 (swift版)

    一,概念: 策略模式定义了一系列的算法,并将每一个算法封装起来,而且使他们可以相互替换,让算法独立于使用它的客户而独立变化. 二,使用场景 1.针对同一类型问题的多种处理方式,仅仅是具体行为有差别时: ...

  4. XMU C语言程序设计实践(2)

    任务一:颠倒的世界 小明最近突然喜欢倒着写字,写出来的句子全是颠倒的,也就是把一句话里的字符全都逆序写,譬如“I Love This Game!”,他就偏偏要写成“!emaG sihT evoL I” ...

  5. YTU 2960: 改错题--小鼠标,你要干什吗?

    2960: 改错题--小鼠标,你要干什吗? 时间限制: 1 Sec  内存限制: 128 MB 提交: 118  解决: 62 题目描述 鼠标双击不同的图标产生不同的效果,比如双击文档(documen ...

  6. MARGIN-BEFORE MARGIN-AFTER MARGIN-START MARGIN-END

    总的来说:这是CSS3.0的对于文章段P容器的定义方法语句!display:block这个样式,只定义了P容器为一个块;后面四句是CSS3中的样式定义方法:-webkit-margin-before: ...

  7. SVN常用命令说明(转载)

    转自:http://www.blogjava.net/jasmine214--love/archive/2011/01/12/342839.html /** * 转载请注明作者longdick htt ...

  8. 运用NP求解 “跳跃游戏”---计蒜客

    计蒜客里面有一道“跳跃游戏的问题” 给定一个非负整数数组,假定你的初始位置为数组第一个下标. 数组中的每个元素代表你在那个位置能够跳跃的最大长度. 你的目标是到达最后一个下标,并且使用最少的跳跃次数. ...

  9. 洛谷 P4552 [Poetize6] IncDec Sequence【差分+脑洞】

    一看区间操作,很容易想到差分 所以就是先差分,然后为了保证最小步数,把政府差分抵消,也就相当于原数组区间加减 第二问,因为差分数组抵消之后不为0就需要使用n+1的虚拟位置,而这个的值其实没有,所以我们 ...

  10. bzoj 3875: [Ahoi2014&Jsoi2014]骑士游戏【dp+spfa】

    设f[i]为杀死i的最小代价,显然\( f[i]=min(k[i],s[i]+\sum f[to]) \) 但是这个东西有后效性,所以我们使用spfa来做,具体就是每更新一个f[i],就把能被它更新的 ...