Farseer.net輕量級開源框架 中級篇:經常使用的擴展方法

導航

目   錄:Farseer.net輕量級開源框架 目錄html

上一篇:Farseer.net輕量級開源框架 中級篇: BasePage、BaseController、BaseHandler、BaseMasterPage、BaseControls基類使用數組

下一篇:Farseer.net輕量級開源框架 中級篇: 經常使用工具app

  在使用框架的時候,都須要引用擴展方法的命名空間:using FS.Extend;框架

1         /// <summary>
2         /// 將值轉換成類型對像的值(此方法做爲公共的調用,只支持單值轉換)
3         /// </summary>
4         /// <param name="objValue">要轉換的值</param>
5         /// <param name="objType">要轉換的值類型</param>
6         /// <param name="defType">轉換失敗時,代替的默認值類型</param>
7         /// <returns></returns>
8         private static object ConvertType(object objValue, Type objType, Type defType)

  做者在寫代碼的時候,最經常使用的到的方法就屬ConvertType了。能夠將任意的基本類型轉到新的基本類型中。好比將"1"轉成1 ,將"true"轉成true等等。太實用了。工具

1         /// <summary>
2         ///     結果爲True時,輸出參數
3         /// </summary>
4         /// <param name="b">判斷源結果</param>
5         /// <param name="t">輸出值</param>
6         public static T IsTrue<T>(this bool b, T t)

  當爲true時,返回傳入的結果。能夠代替: true ? "xxxx" : "" 這種尷尬的寫法。this

1         /// <summary>
2         /// 獲取中文
3         /// </summary>
4         /// <param name="b"></param>
5         /// <param name="strTrue">爲True時的中文:是</param>
6         /// <param name="strFalse">爲False時的中文:否</param>
7         /// <returns></returns>
8         public static string GetName(this bool b, string strTrue = "", string strFalse = "")

  拿到bool結果時,有時候咱們但願是:true ? "對" : "錯" 這種方式。spa

1         /// <summary>
2         ///     對DataTable排序
3         /// </summary>
4         /// <param name="dt">要排序的表</param>
5         /// <param name="sort">要排序的字段</param>
6         public static DataTable Sort(this DataTable dt, string sort = "ID DESC")

  對DataTable常常操做的朋友,對它的排序是否是很麻煩呢?這裏用到的是克隆後的結果哦。.net

1         /// <summary>
2         ///     對DataTable分頁
3         /// </summary>
4         /// <param name="dt">源表</param>
5         /// <param name="pageSize">每頁顯示的記錄數</param>
6         /// <param name="pageIndex">頁碼</param>
7         /// <returns></returns>
8         public static DataTable Split(this DataTable dt, int pageSize = 20, int pageIndex = 1)

  對DataTable分頁,也是很實用的。code

1         /// <summary>
2         ///     DataTable轉換爲實體類
3         /// </summary>
4         /// <param name="dt">源DataTable</param>
5         /// <typeparam name="T">實體類</typeparam>
6         public static List<TResult> ToList<TResult>(this DataTable dt) where TResult : ModelInfo, new()

  將DataTable轉化成List<實體>。orm

1         /// <summary>
2         ///     獲取枚舉中文
3         /// </summary>
4         /// <param name="eum">枚舉值</param>
5         public static string GetName(this Enum eum)

  獲得枚舉值的中文顯示

1         /// <summary>
2         ///     獲取枚舉列表
3         /// </summary>
4         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<實體>或者 單個實體

1         /// <summary>
2         ///     數據分頁
3         /// </summary>
4         /// <typeparam name="TSource">實體</typeparam>
5         /// <param name="source">源對像</param>
6         /// <param name="pageIndex">頁碼</param>
7         /// <param name="pageSize">每頁大小</param>
8         public static IQueryable<TSource> Split<TSource>(this IQueryable<TSource> source, int pageSize = 20, int pageIndex = 1)

  對List進行分頁

1         /// <summary>
2         ///     將List轉換成字符串
3         /// </summary>
4         /// <param name="lst">要拼接的LIST</param>
5         /// <param name="sign">分隔符</param>
6         public static string ToString(this IEnumerable lst, string sign = ",")

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

1         /// <summary>
2         ///     判斷是否存在記錄
3         /// </summary>
4         /// <param name="IDs">條件,等同於:o=> IDs.Contains(o.ID) 的操做</param>
5         public static bool IsHaving<TInfo>(this IEnumerable<TInfo> lst, List<int> IDs) where TInfo : ModelInfo, new()

  根據條件判斷是否存在

1         /// <summary>
2         ///     字段選擇器
3         /// </summary>
4         /// <param name="select">字段選擇器</param>
5         /// <param name="IDs">條件,等同於:o=> IDs.Contains(o.ID) 的操做</param>
6         /// <param name="lst">列表</param>
7         public static List<T> ToSelectList<TInfo, T>(this IEnumerable<TInfo> lst, Func<TInfo, T> select)

  投影出指定元素列表。

1         /// <summary>
2         ///     將集合類轉換成DataTable
3         /// </summary>
4         /// <param name="list">集合</param>
5         /// <returns></returns>
6         public static DataTable ToDataTable(this IList list)

  List<實體> 轉 DataTable

1         /// <summary>
2         ///     將任何數組轉換成用符號鏈接的字符串
3         /// </summary>
4         /// <param name="obj">任何對像</param>
5         /// <param name="func">傳入要在轉換過程當中要執行的方法</param>
6         /// <param name="sign">分隔符</param>
7         /// <typeparam name="T">基本對像</typeparam>
8         public static string ToString<T>(this T[] obj, string sign = ",", Func<T, string> func = null)

  對數組T[]按照指定分隔符拼接成字符串。如"1,2,3,4"

1         /// <summary>
2         /// 直接返回分隔後的元素項
3         /// </summary>
4         /// <param name="arr">要分隔的字符串</param>
5         /// <param name="tag">分隔的標識</param>
6         /// <param name="index">元素下標</param>
7         /// <returns></returns>
8         public static string Split(this string arr, string tag, int index)

  根據指定字符串進行分隔,至關於"xxxx;xxx;".Split(";")[index]

1         /// <summary>
2         ///     指定清除標籤的內容
3         /// </summary>
4         /// <param name="str">內容</param>
5         /// <param name="tag">標籤</param>
6         /// <param name="options">選項</param>
7         public static string ClearString(this string str, string tag, RegexOptions options = RegexOptions.None)

  使用正則清除符合規則的字符串。

1         /// <summary>
2         ///     將字符串轉換成List型
3         /// </summary>
4         /// <param name="str">要轉換的字符串</param>
5         /// <param name="splitString">分隔符爲NullOrEmpty時,則直接拆份爲Char</param>
6         /// <param name="defValue">默認值(單項轉換失敗時,默認值爲NullOrEmpty時,則不添加,不然替換爲默認值)</param>
7         /// <typeparam name="T">基本類型</typeparam>
8         public static List<T> ToList<T>(this string str, T defValue, string splitString = ",")

  將字符串以指定的分隔符,轉成List 好比 "1,2,3,4,5" 以 , 分隔轉成List<int>

1         /// <summary>
2         ///     刪除指定最後的字符串(直到找到爲止)
3         /// </summary>
4         /// <param name="str">要轉換的字符串</param>
5         /// <param name="strChar">要刪除的字符串</param>
6         public static string DelLastOf(this string str, string strChar)

  刪除末尾的字符串。

1         /// <summary>
2         ///     比較二者是否相等,不考慮大小寫,兩邊空格
3         /// </summary>
4         /// <param name="str">對比一</param>
5         /// <param name="str2">對比二</param>
6         /// <returns></returns>
7         public static bool IsEquals(this string str, string str2)

  比較二者是否相等,不考慮大小寫,兩邊空格

 1         /// <summary>
 2         ///     是否不爲Null或者Empty
 3         /// </summary>
 4         /// <param name="str">要判斷的字符串</param>
 5         public static bool IsHaving(this string str)
 6 
 7         /// <summary>
 8         ///     是否爲Null或者Empty
 9         /// </summary>
10         /// <param name="str">要判斷的字符串</param>
11         public static bool IsNullOrEmpty(this string str)

  判斷值爲空的狀況

 1         /// <summary>
 2         ///     對比開頭字符是否一致
 3         /// </summary>
 4         /// <param name="str">原字符串</param>
 5         /// <param name="value">要對比的字符串</param>
 6         /// <returns></returns>
 7         public static bool IsStartsWith(this string str, string value)
 8 
 9         /// <summary>
10         ///     對比開頭字符是否一致
11         /// </summary>
12         /// <param name="str">原字符串</param>
13         /// <param name="value">要對比的字符串</param>
14         /// <returns></returns>
15         public static bool IsEndsWith(this string str, string value)

  不區別大小寫

1         /// <summary>
2         ///     分隔字符串
3         /// </summary>
4         /// <param name="str">字符串</param>
5         /// <param name="splitString">分隔符號</param>
6         /// <returns></returns>
7         public static string[] Split(this string str, string splitString = ",")

  支持字符串分隔符

1         /// <summary>
2         ///     當NullOrEmpty,用新的字符串代替,不然用原來的。
3         /// </summary>
4         /// <param name="str">要檢測的值</param>
5         /// <param name="newString">要替換的新字符串</param>
6         public static string WhileNullOrEmpty(this string str, string newString)

  當NullOrEmpty,用新的字符串代替,不然用原來的。 不少時候,有些值爲null,但咱們但願它爲NULL時默認給與值。非NULL時,則不理會。

1         /// <summary>
2         ///     數字格式化,將轉換成1000,10
3         /// </summary>
4         public static string Format(this int number, bool isHaveTag = true, int len = 2)

  轉換成金錢格式。

導航

目   錄: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的目標是:快速上手、快速開發、簡單方便。

1 new User { ID = 1, Name = "張三" }.Insert()
相關文章
相關標籤/搜索