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;
}
}
}