123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191 |
- /* 作者: 季健国
- * 创建时间: 2012/7/22 15:38:20
- *
- */
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace Ant.Service.Common
- {
- /// <summary>
- /// 强制转化辅助类(无异常抛出)
- /// </summary>
- public static class ConvertHelper
- {
- #region 强制转化
- /// <summary>
- /// object转化为Bool类型
- /// </summary>
- /// <param name="obj"></param>
- /// <returns></returns>
- public static bool ObjToBool(this object obj)
- {
- bool flag;
- if (obj == null)
- {
- return false;
- }
- if (obj.Equals(DBNull.Value))
- {
- return false;
- }
- return (bool.TryParse(obj.ToString(), out flag) && flag);
- }
- /// <summary>
- /// object强制转化为DateTime类型(吃掉异常)
- /// </summary>
- /// <param name="obj"></param>
- /// <returns></returns>
- public static DateTime? ObjToDateNull(this object obj)
- {
- if (obj == null)
- {
- return null;
- }
- try
- {
- return new DateTime?(Convert.ToDateTime(obj));
- }
- catch //(ArgumentNullException ex)
- {
- return null;
- }
- }
- /// <summary>
- /// int强制转化
- /// </summary>
- /// <param name="obj"></param>
- /// <returns></returns>
- public static int ObjToInt(this object obj)
- {
- if (obj != null)
- {
- int num;
- if (obj.Equals(DBNull.Value))
- {
- return 0;
- }
- if (int.TryParse(obj.ToString(), out num))
- {
- return num;
- }
- }
- return 0;
- }
- /// <summary>
- /// 强制转化为long
- /// </summary>
- /// <param name="obj"></param>
- /// <returns></returns>
- public static long ObjToLong(this object obj)
- {
- if (obj != null)
- {
- long num;
- if (obj.Equals(DBNull.Value))
- {
- return 0;
- }
- if (long.TryParse(obj.ToString(), out num))
- {
- return num;
- }
- }
- return 0;
- }
- /// <summary>
- /// 强制转化可空int类型
- /// </summary>
- /// <param name="obj"></param>
- /// <returns></returns>
- public static int? ObjToIntNull(this object obj)
- {
- if (obj == null)
- {
- return null;
- }
- if (obj.Equals(DBNull.Value))
- {
- return null;
- }
- return new int?(ObjToInt(obj));
- }
- /// <summary>
- /// 强制转化为string
- /// </summary>
- /// <param name="obj"></param>
- /// <returns></returns>
- public static string ObjToStr(this object obj)
- {
- if (obj == null)
- {
- return "";
- }
- if (obj.Equals(DBNull.Value))
- {
- return "";
- }
- return Convert.ToString(obj);
- }
- /// <summary>
- /// Decimal转化
- /// </summary>
- /// <param name="obj"></param>
- /// <returns></returns>
- public static decimal ObjToDecimal(this object obj)
- {
- if (obj == null)
- {
- return 0M;
- }
- if (obj.Equals(DBNull.Value))
- {
- return 0M;
- }
- try
- {
- return Convert.ToDecimal(obj);
- }
- catch
- {
- return 0M;
- }
- }
- /// <summary>
- /// Decimal可空类型转化
- /// </summary>
- /// <param name="obj"></param>
- /// <returns></returns>
- public static decimal? ObjToDecimalNull(this object obj)
- {
- if (obj == null)
- {
- return null;
- }
- if (obj.Equals(DBNull.Value))
- {
- return null;
- }
- return new decimal?(ObjToDecimal(obj));
- }
- #endregion
- /// <summary>
- /// 利用反射来判断对象是否包含某个属性
- /// </summary>
- /// <param name="instance">object</param>
- /// <param name="propertyName">需要判断的属性</param>
- /// <returns>是否包含</returns>
- public static bool ContainProperty(this object instance, string propertyName)
- {
- if (instance != null && !string.IsNullOrEmpty(propertyName))
- {
- System.Reflection.PropertyInfo _findedPropertyInfo = instance.GetType().GetProperty(propertyName);
- return (_findedPropertyInfo != null);
- }
- return false;
- }
- }
- }
|