[ASP.NET教程] c#写扩展方法

学习MVC时,学会了写扩展方法,用起来很方便。

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.Mvc;
  6. using System.Text;
  7. namespace MvcApp1.Content
  8. {http://www.kmnk03.com/hxpfk/bptx/349.html
  9. //<%@ Import Namespace="MvcApp1.Content" %>
  10. public static class MyHtmlHelper
  11. {
  12. public static string RedLable(this HtmlHelper helper, string lbstr)
  13. {
  14. StringBuilder sb = new StringBuilder();
  15. sb.Append("");
  16. sb.Append(lbstr);
  17. sb.Append("");
  18. return sb.ToString();
  19. }
  20. }
  21. }
复制代码


下面,用上面这个形式来写我的扩展方法

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. namespace Tools.Common
  5. {http://www.kmnk03.com/hxpfk/bptx/350.html
  6. /// <summary> /// 数据优化公共类
  7. /// </summary> public static class DataHelper
  8. {
  9. #region 根据是否为null或""返回string类型数据
  10. /// <summary> /// 根据是否为null或""返回string类型数据
  11. /// </summary> /// <param name="obj" />要获取数据的对象
  12. /// <param name="defaultValue" />为null或""时返回的默认值,不指定则返回""
  13. /// <returns></returns> public static string IsNull(this object obj, params object[] defaultValue)
  14. {
  15. if (obj == null || "".Equals(obj.ToString().Trim()))
  16. {http://www.kmnk03.com/hxpfk/bptx/351.html
  17. if (defaultValue.Length == 0 || defaultValue[0]==null) return "";
  18. else return defaultValue[0].ToString() ;
  19. }
  20. else
  21. {
  22. return obj.ToString();
  23. }
  24. }
  25. #endregion
  26. http://www.kmnk03.com/hxpfk/bptx/352.html
  27. #region 根据是否为null或""返回long类型数据
  28. /// <summary> /// 根据是否为null或""返回long类型数据
  29. /// </summary> /// <param name="obj" />要获取数据的对象
  30. /// <param name="defaultValue" />为null或""时返回的默认值,不指定则返回long.MinValue
  31. /// <returns></returns> public static long IsNull(this object obj, params long[] defaultValue)
  32. {
  33. if (obj == null || "".Equals(obj.ToString().Trim()))
  34. {http://www.kmnk03.com/hxpfk/bptx/353.html
  35. if (defaultValue.Length == 0) return long.MinValue;
  36. else return defaultValue[0];
  37. }
  38. else
  39. {
  40. return long.Parse(obj.ToString());
  41. }
  42. }
  43. #endregion
  44. #region 根据是否为null或""返回int类型数据
  45. /// <summary> /// 根据是否为null或""返回int类型数据
  46. /// </summary> /// <param name="obj" />要获取数据的对象
  47. /// <param name="defaultValue" />为null或""时返回的默认值,不指定则返回int.MinValue
  48. /// <returns></returns> public static int IsNull(this object obj, params int[] defaultValue)
  49. {http://www.kmnk03.com/hxpfk/bptx/354.html
  50. if (obj == null || "".Equals(obj.ToString().Trim()))
  51. {
  52. if (defaultValue.Length == 0) return int.MinValue;
  53. else return defaultValue[0];
  54. }
  55. else
  56. {
  57. return int.Parse(obj.ToString());
  58. }
  59. }
  60. #endregion
  61. http://www.kmnk03.com/hxpfk/bptx/355.html
  62. #region 根据是否为null或""返回DateTime类型数据
  63. /// <summary> /// 根据是否为null或""返回DateTime类型数据
  64. /// </summary> /// <param name="obj" />要获取数据的对象
  65. /// <param name="defaultValue" />为null或""时返回的默认值,不指定则返回DateTime.MinValue
  66. /// <returns></returns> public static DateTime IsNull(this object obj, params DateTime[] defaultValue)
  67. {
  68. if (obj == null || "".Equals(obj.ToString().Trim()))
  69. {http://www.kmnk03.com/hxpfk/bptx/356.html
  70. if (defaultValue.Length == 0) return DateTime.MinValue;
  71. else return defaultValue[0];
  72. }
  73. else
  74. {
  75. return DateTime.Parse(obj.ToString());
  76. }
  77. }
  78. #endregion
  79. #region 根据是否为null或""返回double类型数据
  80. /// <summary> /// 根据是否为null或""返回double类型数据
  81. /// </summary> /// <param name="obj" />要获取数据的对象
  82. /// <param name="defaultValue" />为null或""时返回的默认值,不指定则返回double.MinValue
  83. /// <returns></returns> public static double IsNull(this object obj, params double[] defaultValue)
  84. {http://www.kmnk03.com/hxpfk/bptx/358.html
  85. if (obj == null || "".Equals(obj.ToString().Trim()))
  86. {
  87. if (defaultValue.Length == 0) return double.MinValue;
  88. else return defaultValue[0];
  89. }
  90. else
  91. {
  92. return double.Parse(obj.ToString());
  93. }
  94. }
  95. #endregion
  96. #region 根据是否为null或""返回decimal类型数据
  97. /// <summary> /// 根据是否为null或""返回decimal类型数据

  98. /// </summary> /// <param name="obj" />要获取数据的对象
  99. /// <param name="defaultValue" />为null或""时返回的默认值,不指定则返回decimal.MinValue
  100. /// <returns></returns> public static decimal IsNull(this object obj, params decimal[] defaultValue)
  101. {http://www.kmnk03.com/hxpfk/bptx/362.html
  102. if (obj == null || "".Equals(obj.ToString().Trim()))
  103. {
  104. if (defaultValue.Length == 0) return decimal.MinValue;
  105. else return defaultValue[0];
  106. }
  107. else
  108. {
  109. return decimal.Parse(obj.ToString());
  110. }
  111. }
  112. #endregion
  113. }
  114. }


调用方法:

  1. long L = "12312321".IsNull(long.MinValue);
  2. Response.Write(L);


结果:

c#写扩展方法

kmnk03.com
www.kmnk03.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值