c#寫擴展方法

openkk 12年前發布 | 17K 次閱讀 c# .NET開發

學習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

 

 

 本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!