学习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