国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

【干貨】通用靜態擴展類

2019-11-17 03:12:18
字體:
來源:轉載
供稿:網友

【干貨】通用靜態擴展類

  在開發過程中,我們通常會將常用方法封裝在一個輔助類里,提高可復用性。自.net3.5以后,.net已經支持通過this關鍵字為類進行擴展,目前只可以擴展靜態方法,這對于常用方法的封裝是很有用的。比如,給asp.net的Page類擴展WriteJson方法,直接在頁面代碼里用 this.WriteJson(....),即可輕松調用擴展的靜態方法。以下是在工作中積累的部分代碼,后續會持續更新,直接上干貨:

  1 using System;  2 using System.Collections.Generic;  3 using System.Web;  4 using System.Web.UI;  5 using Newtonsoft.Json;  6 using Newtonsoft.Json.Converters;  7   8 namespace www.ideek.cn  9 { 10     /// <summary> 11     /// 通用靜態擴展類 12     /// </summary> 13     public static class ExtendMethod 14     { 15         /// <summary> 16         /// 頁面輸出Json數據格式 17         /// </summary> 18         /// <param name="page"></param> 19         /// <param name="jsonStr"></param> 20         public static void WriteJson(this Page page, string jsonStr) 21         { 22             page.Response.WriteJson(jsonStr); 23         } 24  25         /// <summary> 26         /// 頁面輸出字符串 27         /// </summary> 28         /// <param name="page"></param> 29         /// <param name="jsonStr"></param> 30         public static void WriteString(this Page page, string str) 31         { 32             page.Response.WriteString(str); 33         } 34  35         /// <summary> 36         /// 頁面輸出Json數據格式 37         /// </summary> 38         /// <param name="page"></param> 39         /// <param name="jsonStr"></param> 40         public static void WriteJson(this HttPResponse response, string jsonStr) 41         { 42             response.ContentType = "application/json"; 43             response.Charset = "UTF-8"; 44             response.Write(jsonStr); 45             response.End(); 46         } 47  48         /// <summary> 49         /// 頁面輸出字符串 50         /// </summary> 51         /// <param name="page"></param> 52         /// <param name="jsonStr"></param> 53         public static void WriteString(this HttpResponse response, string str) 54         { 55             response.ContentType = "text/plain"; 56             response.Charset = "UTF-8"; 57             response.Write(str); 58             response.End(); 59         } 60  61         #region 格式轉化 62  63         /// <summary> 64         /// 取日期最小時間 65         /// </summary> 66         /// <param name="dt"></param> 67         /// <returns></returns> 68         public static DateTime GetDateTimeMin(this object dt) 69         { 70             return Convert.ToDateTime(Convert.ToDateTime(dt).ToString("yyyy-MM-dd 00:00:00")); 71         } 72         /// <summary> 73         /// 取日期最大時間 74         /// </summary> 75         /// <param name="dt"></param> 76         /// <returns></returns> 77         public static DateTime GetDateTimeMax(this object dt) 78         { 79             return Convert.ToDateTime(Convert.ToDateTime(dt).ToString("yyyy-MM-dd 23:59:59")); 80         } 81  82         /// <summary> 83         /// 轉換為Int型,為空返回0 84         /// </summary> 85         /// <param name="obj"></param> 86         /// <returns></returns> 87         public static int ToIntValue(this object obj) 88         { 89             int result; 90             if (obj == null) return 0; 91             return int.TryParse(obj.ToString().Trim(), out result) ? result : 0; 92         } 93  94         /// <summary> 95         /// 轉換為Int64(long)型,為空返回0 96         /// </summary> 97         /// <param name="obj"></param> 98         /// <returns></returns> 99         public static long ToLongValue(this object obj)100         {101             long result = 0;102             if (obj == null) return result;103             return long.TryParse(obj.ToString().Trim(), out result) ? result : 0;104         }105 106         /// <summary>107         /// 轉換為decimal型,為空返回0108         /// </summary>109         /// <param name="obj"></param>110         /// <returns></returns>111         public static decimal ToDecimalValue(this object obj)112         {113             decimal result = 0;114             if (obj == null) return result;115             return decimal.TryParse(obj.ToString().Trim(), out result) ? result : 0;116         }117 118         /// <summary>119         /// 轉換為float型,為空返回0120         /// </summary>121         /// <param name="obj"></param>122         /// <returns></returns>123         public static float ToFloatValue(this object obj)124         {125             float result = 0;126             if (obj == null) return result;127             return float.TryParse(obj.ToString().Trim(), out result) ? result : 0;128         }129 130         /// <summary>131         /// 轉為String類型,為null返回""132         /// </summary>133         /// <param name="obj"></param>134         /// <returns></returns>135         public static string ToStringValue(this object obj)136         {137             if (obj == null) return string.Empty;138             return obj.ToString().Trim();139         }140 141         /// <summary>142         /// 轉為DateTime類型,為null返回當前時間143         /// </summary>144         /// <param name="obj"></param>145         /// <returns></returns>146         public static DateTime ToDateTimeValue(this object obj)147         {148             if (obj == null) return DateTime.Now;149             return Convert.ToDateTime(obj);150         }151 152         /// <summary>153         /// 轉為DateTime?類型154         /// </summary>155         /// <param name="obj"></param>156         /// <returns></returns>157         public static DateTime? ToDateTime(this object obj)158         {159             var result = new Nullable<DateTime>();160             if (!string.IsNullOrEmpty(obj.ToStringValue()))161             {162                 DateTime dt;163                 if (DateTime.TryParse(obj.ToString().Trim(), out dt))164                     result = dt;165             }166             return result;167         }168 169         #endregion170     }171 }

  其中,頁面輸出采用Newtonsoft.Json開源類庫,關于Newtonsoft.Json的用法,請參考:https://github.com/JamesNK/Newtonsoft.Json

 愛戴客 - 可穿戴設備第一門戶 網址:www.ideek.cn 微博:www.weibo.com/ideek 為可穿戴設備愛好者提供最新、最專業的可穿戴設備產品和資訊信息。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临沭县| 屏东市| 大名县| 吉首市| 金溪县| 始兴县| 河西区| 浦县| 苍南县| 陵川县| 邻水| 顺平县| 郓城县| 尼木县| 剑阁县| 敦煌市| 伊春市| 军事| 正宁县| 河源市| 新邵县| 含山县| 兴文县| 葫芦岛市| 武平县| 连南| 隆化县| 卢湾区| 南召县| 仁寿县| 灵武市| 阜城县| 固始县| 宁德市| 木兰县| 宣恩县| 钟山县| 柏乡县| 嘉祥县| 库尔勒市| 新邵县|