c#写扩展方法
2014-04-16 09:02
141 查看
学习MVC时,学会了写扩展方法,用起来很方便。
下面,用上面这个形式来写我的扩展方法
调用方法:
结果:
转自:http://blog.csdn.net/pukuimin1226/article/details/7931930
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
相关文章推荐
- C# 面向方面 通过Attribute 拦截从而扩展方法
- C#2008新特性--(扩展方法)Extension Method
- 扩展方法(C# 3.0 语言)
- C#扩展方法类库StringExtensions
- C# 扩展方法 白话总结
- c# 之DataTable的扩展方法
- 关于C#扩展方法
- C#定义扩展类的应用及方法
- C#扩展方法和协变逆变
- C#扩展方法,非常重要
- C# 扩展方法
- 向C#的String类添加按字节截取字符串的扩展方法
- c# 扩展方法奇思妙用基础篇四:Random 扩展
- C# 3.0 扩展方法 实践
- c# 扩展方法奇思妙用变态篇一:由 Fibonacci 数列引出 “委托扩展” 及 “递推递归委托”
- C#扩展方法入门
- c# 扩展方法奇思妙用基础:Dictionary<TKey, TValue> 扩展
- c# string 扩展方法
- c#扩展出MapReduce方法
- 扩展方法(C#)