程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> c#寫擴展方法

c#寫擴展方法

編輯:C#入門知識

學習MVC時,學會了寫擴展方法,用起來很方便。

[csharp] 
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(); 
        } 
    } 

 

下面,用上面這個形式來寫我的擴展方法

[csharp] 
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> 
        /// <param name="defaultValue">為null或""時返回的默認值,不指定則返回""</param> 
        /// <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> 
        /// <param name="defaultValue">為null或""時返回的默認值,不指定則返回long.MinValue</param> 
        /// <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> 
        /// <param name="defaultValue">為null或""時返回的默認值,不指定則返回int.MinValue</param> 
        /// <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> 
        /// <param name="defaultValue">為null或""時返回的默認值,不指定則返回DateTime.MinValue</param> 
        /// <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> 
        /// <param name="defaultValue">為null或""時返回的默認值,不指定則返回double.MinValue</param> 
        /// <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> 
        /// <param name="defaultValue">為null或""時返回的默認值,不指定則返回decimal.MinValue</param> 
        /// <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 
    } 

調用方法:

[csharp] 
long L = "12312321".IsNull(long.MinValue); 
Response.Write(L); 

結果:

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved