public static string ObjectToString(object obj) { if (obj == null) { return("null"); } if (Helper.IsPrimitive(obj.GetType())) { return(PrimitiveToString(obj)); } if (obj is IList) { return(ListToString(obj)); } if (obj.GetType().IsArray) { return(ListToString(obj)); } if (obj.GetType().IsEnum) { return(obj.ToString()); } if (obj.GetType().IsClass) { return(ClassObjectToString(obj)); } if (obj.GetType().IsValueType&& !obj.GetType().IsEnum) { return(ClassObjectToString(obj)); } return(""); }
private static object ParsedToObject(object parsed, Type objtype) { if (Helper.IsPrimitive(objtype)) { return(PrimitiveToObject(parsed, objtype)); } if (parsed.GetType() == typeof(Dictionary <string, object>)) { return(DictionaryToObject(parsed, objtype)); } if (parsed.GetType() == typeof(List <object>)) { if (objtype.IsArray) { return(ArrayToObject(parsed, objtype)); } else { return(ListToObject(parsed, objtype)); } } if (objtype.IsEnum && parsed.GetType() == typeof(string)) { if (Enum.IsDefined(objtype, (string)parsed)) { return(Enum.Parse(objtype, (string)parsed)); } Debug.LogWarning("The specified enum for " + objtype.Name + " does not exist. Existing Values are: " + Helper.ArrayToString(Enum.GetValues(objtype))); return(Enum.GetValues(objtype).GetValue(0)); } return(null); }
public static string ObjectToString(object obj) { if (obj == null) { return("null"); } if (Helper.IsPrimitive(obj.GetType())) { return(SerializePrimitive(obj)); } if (obj is IList) { return(SerializeList(obj)); } if (obj.GetType().IsGenericType&& obj.GetType().GetGenericTypeDefinition() == typeof(Dictionary <,>)) { return(SerializeDictionary(obj)); } if (obj.GetType().IsArray) { return(SerializeList(obj)); } if (obj.GetType().IsEnum) { return(obj.ToString()); } if (obj.GetType().IsClass) { return(SerializeClass(obj)); } if (obj.GetType().IsValueType&& !obj.GetType().IsEnum) { return(SerializeClass(obj)); } return(""); }
private static object ParsedToObject(object parsed, Type objtype) { if (parsed == null) { return(null); } if (Helper.IsPrimitive(objtype)) { return(ConvertToPrimitive(parsed, objtype)); } if (objtype.IsGenericType && objtype.GetInterfaces().Contains(typeof(IList))) { return(ConvertToList(parsed, objtype)); } if (objtype.IsGenericType && objtype.GetGenericTypeDefinition() == typeof(Dictionary <,>)) { return(ConvertToDictionary(parsed, objtype)); } if (objtype.IsArray) { return(ConvertToArray(parsed, objtype)); } if (objtype.IsEnum) { return(ConvertToEnum(parsed, objtype)); } if (objtype.IsClass) { return(ConvertToObject(parsed, objtype)); } if (objtype.IsValueType && !objtype.IsEnum) { return(ConvertToObject(parsed, objtype)); } return(null); }