学习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); |
结果:
转自:http://blog.csdn.net/pukuimin1226/article/details/7931930