A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 尹晓乐 注册黑马   /  2012-9-9 12:53  /  1691 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文



    学习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 个回复

倒序浏览
值得学习ing!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马