/// <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()); }
/// <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); }