/// <summary> /// 将js对象转化成.net对象 /// added by chuan.yin in 2017/5/16 /// </summary> /// <param name="context"></param> /// <param name="obj"></param> /// <returns></returns> private object Convert2Object(OriginalJsContext context, object obj) { if (obj is JsObject) { var dic = new Dictionary <string, object>(); var jo = (JsObject)obj; foreach (var item in context.GetMemberNames(jo)) { var v = context.GetPropertyValue(jo, item); dic.Add(item, Convert2Object(context, v)); } return(dic); } else if (obj is DateTime) { return(((DateTime)obj).ToLocalTime()); } else if (obj is JsFunction) { var jf = (JsFunction)obj; return(jf.ToString()); } else { return(obj); } }
/// <summary> /// 将js对象转化成.net对象 /// added by chuan.yin in 2017/5/16 /// </summary> /// <param name="context"></param> /// <param name="obj"></param> /// <returns></returns> private object Convert2Object(OriginalJsContext context, object obj) { if (obj is JsObject) { var dic = new Dictionary <string, object>(); var jo = (JsObject)obj; foreach (var item in context.GetMemberNames(jo)) { var v = context.GetPropertyValue(jo, item); dic.Add(item, Convert2Object(context, v)); } return(dic); } else if (obj is object[]) { var jo = (object[])obj; var list = new List <object>(); foreach (var item in jo) { list.Add(Convert2Object(context, item)); } return(list.ToArray()); } else if (obj is DateTime) { //不能转为本地时间 return((DateTime)obj); } else if (obj is JsFunction) { var jf = (JsFunction)obj; return(jf.ToString()); } else { return(obj); } }
public override IEnumerable <string> GetDynamicMemberNames() { return(_context.GetMemberNames(this)); }