ObjectExtension类

using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace Central.XA.Common.Extension
{
    /// <summary>
    /// Object extension.
    /// </summary>
    public static class ObjectExtension
    {
        /// <summary>
        /// Convert object to int, if failed,return default value.
        /// </summary>
        /// <param name="obj">Object value.</param>
        /// <param name="defaultValue">Default value.</param>
        /// <returns>Int value.</returns>
        public static int ToInt(this object obj, int defaultValue)
        {
            if (obj != null)
            {
                try
                {
                    return Convert.ToInt32(obj);
                }
                catch (Exception)
                {
                    return defaultValue;
                }
            }

            return defaultValue;
        }

        /// <summary>
        /// Convert object to long, if failed,return default value.
        /// </summary>
        /// <param name="obj">Object value.</param>
        /// <param name="defaultValue">Default value.</param>
        /// <returns>Int value.</returns>
        public static long ToLong(this object obj, long defaultValue)
        {
            if (obj != null)
            {
                try
                {
                    return Convert.ToInt64(obj);
                }
                catch (Exception)
                {
                    return defaultValue;
                }
            }

            return defaultValue;
        }

        /// <summary>
        /// Convert object to decimal, if failed,return default value.
        /// </summary>
        /// <param name="obj">Object value.</param>
        /// <param name="defaultValue">Default value.</param>
        /// <returns>Decimal value.</returns>
        public static decimal ToDecimal(this object obj, decimal defaultValue)
        {
            if (obj != null)
            {
                try
                {
                    return Convert.ToDecimal(obj);
                }
                catch (Exception)
                {
                    return defaultValue;
                }
            }

            return defaultValue;
        }

        /// <summary>
        /// Convert object to decimal, if failed,return default value.
        /// </summary>
        /// <param name="obj">Object value.</param>
        /// <param name="defaultValue">Default value.</param>
        /// <param name="digits">Decimal digits.</param>
        /// <returns>Decimal value.</returns>
        public static decimal ToDecimal(this object obj, decimal defaultValue, int digits)
        {
            var value = ToDecimal(obj, defaultValue);

            return value.ToString("N" + digits).ToDecimal(defaultValue);
        }

        /// <summary>
        /// Convert object to bool, if failed,return default value.
        /// </summary>
        /// <param name="obj">Object value.</param>
        /// <param name="defaultValue">Default value.</param>
        /// <returns>Bool value.</returns>
        public static bool ToBool(this object obj, bool defaultValue)
        {
            if (obj != null)
            {
                try
                {
                    return Convert.ToBoolean(obj);
                }
                catch (Exception)
                {
                    return defaultValue;
                }
            }

            return defaultValue;
        }
    }
}

 

posted @ 2014-09-05 16:47  lvxin  阅读(154)  评论(0)    收藏  举报