学习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]==​​​​null​​​​) ​​​​return​​​​""​​​​;​


​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#写扩展方法_mvc