c#写扩展方法
openkk
12年前
学习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(""); sb.Append(lbstr); sb.Append(""); return sb.ToString(); } } }
下面,用上面这个形式来写我的扩展方法
using System; using System.Collections.Generic; using System.Text; namespace Tools.Common { ////// 数据优化公共类 /// public static class DataHelper { #region 根据是否为null或""返回string类型数据 ////// 根据是否为null或""返回string类型数据 /// /// 要获取数据的对象 /// 为null或""时返回的默认值,不指定则返回"" ///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类型数据 /// /// 根据是否为null或""返回long类型数据 /// /// 要获取数据的对象 /// 为null或""时返回的默认值,不指定则返回long.MinValue ///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类型数据 /// /// 根据是否为null或""返回int类型数据 /// /// 要获取数据的对象 /// 为null或""时返回的默认值,不指定则返回int.MinValue ///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类型数据 /// /// 根据是否为null或""返回DateTime类型数据 /// /// 要获取数据的对象 /// 为null或""时返回的默认值,不指定则返回DateTime.MinValue ///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类型数据 /// /// 根据是否为null或""返回double类型数据 /// /// 要获取数据的对象 /// 为null或""时返回的默认值,不指定则返回double.MinValue ///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类型数据 /// /// 根据是否为null或""返回decimal类型数据 /// /// 要获取数据的对象 /// 为null或""时返回的默认值,不指定则返回decimal.MinValue ///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);
结果:
转自:http://blog.csdn.net/pukuimin1226/article/details/7931930