一步一步Asp.Net MVC系列_权限管理之权限控制(下

验证也没有做大块的处理,不过大家可以注意,可以看到想当的简洁,我们同时需要各种辅助类的设计,强制转化的处理,非空验证的处理,等等,我 们直接设计成扩展方法就能达到上图中ObjToIntNULL()的形式, 也不需要ConvertToInt32(xxxxx)的形式来转化了,不是更简洁么?
  1:  /*  作者:       tianzh
  2:  *  创建时间:   2012/7/22 15:38:20
  3:  *
  4:  */
  5:  using System;
  6:  using System.Collections.Generic;
  7:  using System.Linq;
  8:  using System.Text;
  9:  
 10:  namespace TZHSWEET.Common
 11:  {
 12:      /// <summary>
 13:      /// 强制转化辅助类(无异常抛出)
 14:      /// </summary>
 15:      public static class ConvertHelper
 16:      {
 17:          #region 强制转化
 18:          /// <summary>
 19:          /// object转化为Bool类型
 20:          /// </summary>
 21:          /// <param name="obj"></param>
 22:          /// <returns></returns>
 23:          public static bool ObjToBool(this object obj)
 24:          {
 25:              bool flag;
 26:              if (obj == null)
 27:              {
 28:                  return false;
 29:              }
 30:              if (obj.Equals(DBNull.Value))
 31:              {
 32:                  return false;
 33:              }
 34:              return (bool.TryParse(obj.ToString(), out flag) && flag);
 35:          }
 36:          /// <summary>
 37:          /// object强制转化为DateTime类型(吃掉异常)
 38:          /// </summary>
 39:          /// <param name="obj"></param>
 40:          /// <returns></returns>
 41:          public static DateTime? ObjToDateNull(this object obj)
 42:          {
 43:              if (obj == null)
 44:              {
 45:                  return null;
 46:              }
 47:              try
 48:              {
 49:                  return new DateTime?(Convert.ToDateTime(obj));
 50:              }
 51:              catch (ArgumentNullException ex)
 52:              {
 53:                  return null;
 54:              }
 55:          }
 56:          /// <summary>
 57:          /// int强制转化
 58:          /// </summary>
 59:          /// <param name="obj"></param>
 60:          /// <returns></returns>
 61:          public static int ObjToInt(this object obj)
 62:          {
 63:              if (obj != null)
 64:              {
 65:                  int num;
 66:                  if (obj.Equals(DBNull.Value))