示例#1
0
        /// <summary>
        /// 将对象转换为String类型
        /// 特定的数据类型将进行格式化处理
        /// 如为空, 则返回 string.Empty
        /// </summary>
        /// <param name="ov">通用object对象数据</param>
        /// <returns>格式化/ToString得到的string结果</returns>
        public static string ToString(object ov)
        {
            if (CheckData.IsObjectNull(ov))
            {
                return(string.Empty);
            }
            Type vt = ov.GetType();

            if (CheckData.IsTypeEqualDepth(vt, typeof(string), true))
            {
                return(ov.ToString());
            }
            if (CheckData.IsTypeEqualDepth(vt, typeof(DateTime), true))
            {
                return(ToString((DateTime)ov));
            }
            if (vt.IsEnum || CheckData.IsTypeEqualDepth(vt, typeof(Enum), true))
            {
                return(((int)ov).ToString());
            }
            if (CheckData.IsTypeEqualDepth(vt, typeof(Type), true))
            {
                return(((Type)ov).FullName);
            }
            return(ov.ToString());
        }
示例#2
0
        /// <summary>
        /// 将 不确定类型数据 转换为 指定数据类型值
        /// </summary>
        /// <param name="type">指定数据类型</param>
        /// <param name="ov">不确定类型数据</param>
        /// <returns>确定类型数据</returns>
        public static object ToObject(Type type, object ov)
        {
            if (CheckData.IsObjectNull(type))
            {
                return(ov);
            }
            if (CheckData.IsObjectNull(ov))
            {
                return(type.IsValueType ? Activator.CreateInstance(type) : null);
            }

            if (CheckData.IsTypeEqualDepth(type, typeof(int), true))
            {
                return(ToInt(ov, default(int)));
            }
            if (CheckData.IsTypeEqualDepth(type, typeof(Enum), true))
            {
                return(ov.GetType().IsEnum ? (int)ov : ToInt(ov, default(int)));
            }
            if (CheckData.IsTypeEqualDepth(type, typeof(float), true))
            {
                return(ToFloat(ov, default(float)));
            }
            if (CheckData.IsTypeEqualDepth(type, typeof(double), true))
            {
                return(ToDouble(ov, default(double)));
            }
            if (CheckData.IsTypeEqualDepth(type, typeof(DateTime), true))
            {
                Convert.ToDateTime(ov);
                return(ToDateTime(ov, default(DateTime)));
            }
            if (CheckData.IsTypeEqualDepth(type, typeof(bool), true))
            {
                return(ToBool(ov, default(bool)));
            }
            if (CheckData.IsTypeEqualDepth(type, typeof(Type), true))
            {
                string typename = ToString(ov);
                return(ToType(typename));
            }
            return(ov);
        }