zoukankan      html  css  js  c++  java
  • c#写扩展方法

    学习MVC时,学会了写扩展方法,用起来很方便。

    01 using System;
    02 using System.Collections.Generic;
    03 using System.Linq;
    04 using System.Web;
    05 using System.Web.Mvc;
    06 using System.Text;
    07  
    08 namespace MvcApp1.Content
    09 {
    10     //<%@ Import Namespace="MvcApp1.Content" %>
    11     public static class MyHtmlHelper
    12     {
    13         public static string RedLable(this HtmlHelper helper, string lbstr)
    14         {
    15             StringBuilder sb = new StringBuilder();
    16             sb.Append("<span style="color:red;">");
    17             sb.Append(lbstr);
    18             sb.Append("</span>");
    19             return sb.ToString();
    20         }
    21     }
    22 }


     

    下面,用上面这个形式来写我的扩展方法

    001 using System;
    002 using System.Collections.Generic;
    003 using System.Text;
    004  
    005 namespace Tools.Common
    006 {
    007     /// <summary>     /// 数据优化公共类
    008     /// </summary>     public static class DataHelper
    009     {
    010         #region 根据是否为null或""返回string类型数据
    011         /// <summary>         /// 根据是否为null或""返回string类型数据
    012         /// </summary>         /// <param name="obj">要获取数据的对象
    013         /// <param name="defaultValue">为null或""时返回的默认值,不指定则返回""
    014         /// <returns></returns>         public static string IsNull(this object obj, params object[] defaultValue)
    015         {
    016             if (obj == null || "".Equals(obj.ToString().Trim()))
    017             {
    018                 if (defaultValue.Length == 0 || defaultValue[0]==nullreturn "";
    019                 else return defaultValue[0].ToString() ;
    020             }
    021             else
    022             {
    023                 return obj.ToString();
    024             }
    025         }
    026         #endregion
    027  
    028         #region 根据是否为null或""返回long类型数据
    029         /// <summary>         /// 根据是否为null或""返回long类型数据
    030         /// </summary>         /// <param name="obj">要获取数据的对象
    031         /// <param name="defaultValue">为null或""时返回的默认值,不指定则返回long.MinValue
    032         /// <returns></returns>         public static long IsNull(this object obj, params long[] defaultValue)
    033         {
    034             if (obj == null || "".Equals(obj.ToString().Trim()))
    035             {
    036                 if (defaultValue.Length == 0) return long.MinValue;
    037                 else return defaultValue[0];
    038             }
    039             else
    040             {
    041                 return long.Parse(obj.ToString());
    042             }
    043         }
    044         #endregion
    045  
    046         #region 根据是否为null或""返回int类型数据
    047         /// <summary>         /// 根据是否为null或""返回int类型数据
    048         /// </summary>         /// <param name="obj">要获取数据的对象
    049         /// <param name="defaultValue">为null或""时返回的默认值,不指定则返回int.MinValue
    050         /// <returns></returns>         public static int IsNull(this object obj, params int[] defaultValue)
    051         {
    052             if (obj == null || "".Equals(obj.ToString().Trim()))
    053             {
    054                 if (defaultValue.Length == 0) return int.MinValue;
    055                 else return defaultValue[0];
    056             }
    057             else
    058             {
    059                 return int.Parse(obj.ToString());
    060             }
    061         }
    062         #endregion
    063  
    064         #region 根据是否为null或""返回DateTime类型数据
    065         /// <summary>         /// 根据是否为null或""返回DateTime类型数据
    066         /// </summary>         /// <param name="obj">要获取数据的对象
    067         /// <param name="defaultValue">为null或""时返回的默认值,不指定则返回DateTime.MinValue
    068         /// <returns></returns>         public static DateTime IsNull(this object obj, params DateTime[] defaultValue)
    069         {
    070             if (obj == null || "".Equals(obj.ToString().Trim()))
    071             {
    072                 if (defaultValue.Length == 0) return DateTime.MinValue;
    073                 else return defaultValue[0];
    074             }
    075             else
    076             {
    077                 return DateTime.Parse(obj.ToString());
    078             }
    079         }
    080         #endregion
    081  
    082         #region 根据是否为null或""返回double类型数据
    083         /// <summary>         /// 根据是否为null或""返回double类型数据
    084         /// </summary>         /// <param name="obj">要获取数据的对象
    085         /// <param name="defaultValue">为null或""时返回的默认值,不指定则返回double.MinValue
    086         /// <returns></returns>         public static double IsNull(this object obj, params double[] defaultValue)
    087         {
    088             if (obj == null || "".Equals(obj.ToString().Trim()))
    089             {
    090                 if (defaultValue.Length == 0) return double.MinValue;
    091                 else return defaultValue[0];
    092             }
    093             else
    094             {
    095                 return double.Parse(obj.ToString());
    096             }
    097         }
    098         #endregion
    099  
    100         #region 根据是否为null或""返回decimal类型数据
    101         /// <summary>         /// 根据是否为null或""返回decimal类型数据
    102  
    103         /// </summary>         /// <param name="obj">要获取数据的对象
    104         /// <param name="defaultValue">为null或""时返回的默认值,不指定则返回decimal.MinValue
    105         /// <returns></returns>         public static decimal IsNull(this object obj, params decimal[] defaultValue)
    106         {
    107             if (obj == null || "".Equals(obj.ToString().Trim()))
    108             {
    109                 if (defaultValue.Length == 0) return decimal.MinValue;
    110                 else return defaultValue[0];
    111             }
    112             else
    113             {
    114                 return decimal.Parse(obj.ToString());
    115             }
    116         }
    117         #endregion
    118     }
    119 }


    调用方法:

    1 long L = "12312321".IsNull(long.MinValue);
    2 Response.Write(L);


    结果:

    c#写扩展方法

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

  • 相关阅读:
    C#学习历程(三)[基础概念]
    C#学习历程(二)[基础知识]
    C#学习历程(一)[基础概念]
    mvp和mvc的区别
    Java基础摘要(一)
    web前端概念摘要(一)
    Reflection_1
    后台管理_GMS_1
    模板收藏_1
    需求收藏_1
  • 原文地址:https://www.cnblogs.com/gc2013/p/3664381.html
Copyright © 2011-2022 走看看