c#写扩展方法
using System; using System.Collections.Generic; using System.Text; namespace Tools.Common { /// <summary> /// 数据优化公共类 /// </summary> public static class DataHelper { #region 根据是否为null或""返回string类型数据 /// <summary> /// 根据是否为null或""返回string类型数据 /// </summary> /// <param name="obj">要获取数据的对象 /// <param name="defaultValue">为null或""时返回的默认值,不指定则返回"" /// <returns></returns> public static string IsNull(this object obj, params object[] defaultValue) { if (obj == null || "".Equals(obj.ToString().Trim())) { if (defaultValue.Length == 0 || defaultValue[0]==null) return ""; else return defaultValue[0].ToString() ; } else { return obj.ToString(); } } #endregion #region 根据是否为null或""返回long类型数据 /// <summary> /// 根据是否为null或""返回long类型数据 /// </summary> /// <param name="obj">要获取数据的对象 /// <param name="defaultValue">为null或""时返回的默认值,不指定则返回long.MinValue /// <returns></returns> public static long IsNull(this object obj, params long[] defaultValue) { if (obj == null || "".Equals(obj.ToString().Trim())) { if (defaultValue.Length == 0) return long.MinValue; else return defaultValue[0]; } else { return long.Parse(obj.ToString()); } } #endregion #region 根据是否为null或""返回int类型数据 /// <summary> /// 根据是否为null或""返回int类型数据 /// </summary> /// <param name="obj">要获取数据的对象 /// <param name="defaultValue">为null或""时返回的默认值,不指定则返回int.MinValue /// <returns></returns> public static int IsNull(this object obj, params int[] defaultValue) { if (obj == null || "".Equals(obj.ToString().Trim())) { if (defaultValue.Length == 0) return int.MinValue; else return defaultValue[0]; } else { return int.Parse(obj.ToString()); } } #endregion #region 根据是否为null或""返回DateTime类型数据 /// <summary> /// 根据是否为null或""返回DateTime类型数据 /// </summary> /// <param name="obj">要获取数据的对象 /// <param name="defaultValue">为null或""时返回的默认值,不指定则返回DateTime.MinValue /// <returns></returns> public static DateTime IsNull(this object obj, params DateTime[] defaultValue) { if (obj == null || "".Equals(obj.ToString().Trim())) { if (defaultValue.Length == 0) return DateTime.MinValue; else return defaultValue[0]; } else { return DateTime.Parse(obj.ToString()); } } #endregion #region 根据是否为null或""返回double类型数据 /// <summary> /// 根据是否为null或""返回double类型数据 /// </summary> /// <param name="obj">要获取数据的对象 /// <param name="defaultValue">为null或""时返回的默认值,不指定则返回double.MinValue /// <returns></returns> public static double IsNull(this object obj, params double[] defaultValue) { if (obj == null || "".Equals(obj.ToString().Trim())) { if (defaultValue.Length == 0) return double.MinValue; else return defaultValue[0]; } else { return double.Parse(obj.ToString()); } } #endregion #region 根据是否为null或""返回decimal类型数据 /// <summary> /// 根据是否为null或""返回decimal类型数据 /// </summary> /// <param name="obj">要获取数据的对象 /// <param name="defaultValue">为null或""时返回的默认值,不指定则返回decimal.MinValue /// <returns></returns> public static decimal IsNull(this object obj, params decimal[] defaultValue) { if (obj == null || "".Equals(obj.ToString().Trim())) { if (defaultValue.Length == 0) return decimal.MinValue; else return defaultValue[0]; } else { return decimal.Parse(obj.ToString()); } } #endregion } }
调用方法:
long L = "12312321".IsNull(long.MinValue); Response.Write(L);
学习MVC时,学会了写扩展方法,用起来很方便。
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Text; namespace MvcApp1.Content { //<%@ Import Namespace="MvcApp1.Content" %> public static class MyHtmlHelper { public static string RedLable(this HtmlHelper helper, string lbstr) { StringBuilder sb = new StringBuilder(); sb.Append("<span style="color: red;">"); sb.Append(lbstr); sb.Append("</span>"); return sb.ToString(); } } }
下面,用上面这个形式来写我的扩展方法