c#写扩展方法_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > c#写扩展方法

c#写扩展方法

 2014/4/15 15:33:33  GC2013  博客园  我要评论(0)
  • 摘要:学习MVC时,学会了写扩展方法,用起来很方便。01usingSystem;02usingSystem.Collections.Generic;03usingSystem.Linq;04usingSystem.Web;05usingSystem.Web.Mvc;06usingSystem.Text;0708namespaceMvcApp1.Content09{10//<%@ImportNamespace="MvcApp1.Content"%>
  • 标签:C# 方法

学习MVC时,学会了写扩展方法,用起来很方便。

01 class="keyword">using System; 02 using System.Collections.Generic; 03 using System.Linq; 04 using System.Web; 05 using System.Web.Mvc; 06 using System.Text; 07   08 namespace MvcApp1.Content 09 { 10     //<%@ Import Namespace="MvcApp1.Content" %> 11     public static class MyHtmlHelper 12     { 13         public static string RedLable(this HtmlHelper helper, string lbstr) 14         { 15             StringBuilder sb = new StringBuilder(); 16             sb.Append("<span style="color:red;">"); 17             sb.Append(lbstr); 18             sb.Append("</span>"); 19             return sb.ToString(); 20         } 21     } 22 }


 

下面,用上面这个形式来写我的扩展方法

001 using System; 002 using System.Collections.Generic; 003 using System.Text; 004   005 namespace Tools.Common 006 { 007     /// <summary>     /// 数据优化公共类 008     /// </summary>     public static class DataHelper 009     { 010         #region 根据是否为null或""返回string类型数据 011         /// <summary>         /// 根据是否为null或""返回string类型数据 012         /// </summary>         /// <param name="obj">要获取数据的对象 013         /// <param name="defaultValue">为null或""时返回的默认值,不指定则返回"" 014         /// <returns></returns>         public static string IsNull(this object obj, params object[] defaultValue) 015         { 016             if (obj == null || "".Equals(obj.ToString().Trim())) 017             { 018                 if (defaultValue.Length == 0 || defaultValue[0]==nullreturn ""; 019                 else return defaultValue[0].ToString() ; 020             } 021             else 022             { 023                 return obj.ToString(); 024             } 025         } 026         #endregion 027   028         #region 根据是否为null或""返回long类型数据 029         /// <summary>         /// 根据是否为null或""返回long类型数据 030         /// </summary>         /// <param name="obj">要获取数据的对象 031         /// <param name="defaultValue">为null或""时返回的默认值,不指定则返回long.MinValue 032         /// <returns></returns>         public static long IsNull(this object obj, params long[] defaultValue) 033         { 034             if (obj == null || "".Equals(obj.ToString().Trim())) 035             { 036                 if (defaultValue.Length == 0) return long.MinValue; 037                 else return defaultValue[0]; 038             } 039             else 040             { 041                 return long.Parse(obj.ToString()); 042             } 043         } 044         #endregion 045   046         #region 根据是否为null或""返回int类型数据 047         /// <summary>         /// 根据是否为null或""返回int类型数据 048         /// </summary>         /// <param name="obj">要获取数据的对象 049         /// <param name="defaultValue">为null或""时返回的默认值,不指定则返回int.MinValue 050         /// <returns></returns>         public static int IsNull(this object obj, params int[] defaultValue) 051         { 052             if (obj == null || "".Equals(obj.ToString().Trim())) 053             { 054                 if (defaultValue.Length == 0) return int.MinValue; 055                 else return defaultValue[0]; 056             } 057             else 058             { 059                 return int.Parse(obj.ToString()); 060             } 061         } 062         #endregion 063   064         #region 根据是否为null或""返回DateTime类型数据 065         /// <summary>         /// 根据是否为null或""返回DateTime类型数据 066         /// </summary>         /// <param name="obj">要获取数据的对象 067         /// <param name="defaultValue">为null或""时返回的默认值,不指定则返回DateTime.MinValue 068         /// <returns></returns>         public static DateTime IsNull(this object obj, params DateTime[] defaultValue) 069         { 070             if (obj == null || "".Equals(obj.ToString().Trim())) 071             { 072                 if (defaultValue.Length == 0) return DateTime.MinValue; 073                 else return defaultValue[0]; 074             } 075             else 076             { 077                 return DateTime.Parse(obj.ToString()); 078             } 079         } 080         #endregion 081   082         #region 根据是否为null或""返回double类型数据 083         /// <summary>         /// 根据是否为null或""返回double类型数据 084         /// </summary>         /// <param name="obj">要获取数据的对象 085         /// <param name="defaultValue">为null或""时返回的默认值,不指定则返回double.MinValue 086         /// <returns></returns>         public static double IsNull(this object obj, params double[] defaultValue) 087         { 088             if (obj == null || "".Equals(obj.ToString().Trim())) 089             { 090                 if (defaultValue.Length == 0) return double.MinValue; 091                 else return defaultValue[0]; 092             } 093             else 094             { 095                 return double.Parse(obj.ToString()); 096             } 097         } 098         #endregion 099   100         #region 根据是否为null或""返回decimal类型数据 101         /// <summary>         /// 根据是否为null或""返回decimal类型数据 102   103         /// </summary>         /// <param name="obj">要获取数据的对象 104         /// <param name="defaultValue">为null或""时返回的默认值,不指定则返回decimal.MinValue 105         /// <returns></returns>         public static decimal IsNull(this object obj, params decimal[] defaultValue) 106         { 107             if (obj == null || "".Equals(obj.ToString().Trim())) 108             { 109                 if (defaultValue.Length == 0) return decimal.MinValue; 110                 else return defaultValue[0]; 111             } 112             else 113             { 114                 return decimal.Parse(obj.ToString()); 115             } 116         } 117         #endregion 118     } 119 }


调用方法:

1 long L = "12312321".IsNull(long.MinValue); 2 Response.Write(L);


结果:

c#写扩展方法

转自:http://blog.csdn.net/pukuimin1226/article/details/7931930

上一篇: ASP.NET常用编程代码(二) 下一篇: 没有下一篇了!
发表评论
用户名: 匿名