using PlcSiemens.Core.Common;
namespace PlcSiemens.Core.Extension
{
    public static class ObjectExtension
    {
        #region 类型转换
        public static DefaultConvert Convert = new DefaultConvert();
        /// 转为整数,转换失败时返回默认值。支持字符串、全角、字节数组(小端)
        public static int ToInt(this object value, int defaultValue = 0)
        {
            return Convert.ToInt(value, defaultValue);
        }
        /// 转为浮点数,转换失败时返回默认值。支持字符串、全角、字节数组(小端)
        public static double ToDouble(this object value, double defaultValue = 0)
        {
            return Convert.ToDouble(value, defaultValue);
        }
        /// 转为布尔型,转换失败时返回默认值。支持大小写True/False、0和非零
        public static bool ToBoolean(this object value, bool defaultValue = false)
        {
            return Convert.ToBoolean(value, defaultValue);
        }
        /// 转为时间日期,转换失败时返回最小时间
        public static DateTime ToDateTime(this object value)
        {
            return Convert.ToDateTime(value, DateTime.MinValue);
        }
        /// 转为时间日期,转换失败时返回默认值
        public static DateTime ToDateTime(this object value, DateTime defaultValue)
        {
            return Convert.ToDateTime(value, defaultValue);
        }
        #endregion 类型转换
    }
}