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);


结果:

c#写扩展方法

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