c#写扩展方法
来源:互联网 发布:网上购火车票软件 编辑:程序博客网 时间:2024/05/22 11:43
学习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("<span style='color:red;'>"); sb.Append(lbstr); sb.Append("</span>"); return sb.ToString(); } }}
下面,用上面这个形式来写我的扩展方法
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 }}
调用方法:
long L = "12312321".IsNull(long.MinValue); Response.Write(L);
结果:
- c#写扩展方法
- c#写扩展方法
- [ASP.NET教程] c#写扩展方法
- c#扩展方法,协程,dotween的仿写
- C#写扩展存储过程
- c#中的扩展方法
- C# 扩展方法
- C#扩展方法本质
- C#扩展方法
- 关于C#扩展方法
- C#之扩展方法
- C#2008扩展方法
- C# 扩展方法
- C#扩展方法
- C#扩展方法
- C#扩展方法
- C# 扩展方法
- C# 扩展方法[学习]
- TOMCAT6服务器常用配置(包括设置端口,默认路径,GZIP等)
- java读写excel2003
- JS正则表达式详解
- 《UNIX环境高级编程》中apue.h的问题
- 落花泪,与君诀
- c#写扩展方法
- Linux系统时间格式不一致,导致awk{print $9}截取错误
- 常见的进制转换方法
- Linux终端字符颜色设置
- 鸡蛋饭
- POJ 1328 Radar Installation 贪心
- PKU 1389 Area of Simple Polygons
- Win 8系统下载
- 相约世纪末