Exemplo n.º 1
0
 private ReferencedObj SerializeFirstRef(object obj, ObjInfo info)
 {
     var obj2 = new ReferencedObj();
     info.FirstRef = obj2;
     var type = obj.GetType();
     obj2.Type = type.FullName;
     var obj3 = obj.As<JsObject>();
     if (obj is IList)
     {
         var list = obj.As<IList>();
         obj2.ListItems = new JsArray();
         foreach (var item in list)
         {
             var item2 = Serialize2(item);
             obj2.ListItems.push(item2);
         }
     }
     else
     {
         foreach (var p in obj3)
         {
             if (IgnoreFields[p])
                 continue;
             if (!obj3.hasOwnProperty(p))
                 continue;
             var value = obj3[p];
             obj2[p] = Serialize2(value);
         }
     }
     return obj2;
 }
Exemplo n.º 2
0
 TypedObj SerializeRefOrContent(object obj)
 {
     if (!ObjInfos.ContainsKey(obj))
     {
         var info = new ObjInfo();
         ObjInfos.Add(obj, info);
         SerializeFirstRef(obj, info);
         return info.FirstRef;
     }
     else
     {
         var info = ObjInfos[obj];
         if (info.Ref == null)
         {
             RefIndex++;
             info.Ref = new ObjRef { Key = RefIndex.ToString(), Type="ObjRef" };
             info.FirstRef.RefKey = info.Ref.Key;
         }
         return info.Ref;
     }
 }
        private ReferencedObj SerializeFirstRef(object obj, ObjInfo info)
        {
            var obj2 = new ReferencedObj();

            info.FirstRef = obj2;
            var type = obj.GetType();

            obj2.Type = type.FullName;
            var obj3 = obj.As <JsObject>();

            if (obj is IList)
            {
                var list = obj.As <IList>();
                obj2.ListItems = new JsArray();
                foreach (var item in list)
                {
                    var item2 = Serialize2(item);
                    obj2.ListItems.push(item2);
                }
            }
            else
            {
                foreach (var p in obj3)
                {
                    if (IgnoreFields[p])
                    {
                        continue;
                    }
                    if (!obj3.hasOwnProperty(p))
                    {
                        continue;
                    }
                    var value = obj3[p];
                    obj2[p] = Serialize2(value);
                }
            }
            return(obj2);
        }
 TypedObj SerializeRefOrContent(object obj)
 {
     if (!ObjInfos.ContainsKey(obj))
     {
         var info = new ObjInfo();
         ObjInfos.Add(obj, info);
         SerializeFirstRef(obj, info);
         return(info.FirstRef);
     }
     else
     {
         var info = ObjInfos[obj];
         if (info.Ref == null)
         {
             RefIndex++;
             info.Ref = new ObjRef {
                 Key = RefIndex.ToString(), Type = "ObjRef"
             };
             info.FirstRef.RefKey = info.Ref.Key;
         }
         return(info.Ref);
     }
 }